Je suis trop nul !!! Je n'avais même pas fait attention à ça.
Merci à vous 2 pour le coup de main et désolé d'avoir posé une question pour rien.
Pour info, le problème était plus complexe à la base car je souhaitais récupérer la valeur de plusieurs cellules appartenant à un ou plusieurs classeurs que l'utilisateur sélectionnait.
Comme la sub que j'avais fait plantait à la ligne correspondant à la copie de la valeur, j'avais ouvert 2 fichiers et créé une sub toute simple (voir mon premier post) qui copiait une valeur d'un fichier déjà ouvert.
Pour me faire pardonner je copie ma sub finalisée au cas où ça interresse quelqu'un :
Sub TRANSFERT()
' Déclaration des variables
Dim ligne As Integer
Dim i As Integer
' Initialisation de la variable ligne à 2 (la ligne 1 est la ligne des titres)
ligne = 2
' Boucle permettant de sélectionner plusieurs fichiers
Do
' Sélection du classeur source à partir d'une fenêtre
cheminfichier = Application.GetOpenFilename("Fichiers Excels (*.xls), *.xls" )
' Si on clique sur Annuler dans la fenêtre, on sort de la boucle
If cheminfichier = False Then
Exit Do
End If
'Ouverture du classeur source
Workbooks.Open cheminfichier
' Récupération du nom du classeur + extension
For i = Len(cheminfichier) To 1 Step -1
If Mid(cheminfichier, i, 1) = "\" Then Exit For
Next
nomfichier = Mid(cheminfichier, i + 1, Len(cheminfichier))
' Copie des valeurs entre les classeurs
ThisWorkbook.Sheets("Feuil2" ).Range("A" & ligne) = Workbooks(nomfichier).Sheets("Nombre" ).Range("F3" ).Value
ThisWorkbook.Sheets("Feuil2" ).Range("B" & ligne) = Workbooks(nomfichier).Sheets("Nombre" ).Range("E6" ).Value
ThisWorkbook.Sheets("Feuil2" ).Range("C" & ligne) = Workbooks(nomfichier).Sheets("Nombre" ).Range("E7" ).Value
ThisWorkbook.Sheets("Feuil2" ).Range("D" & ligne) = Workbooks(nomfichier).Sheets("Nombre" ).Range("E8" ).Value
' Fermeture du classeur source
Workbooks(nomfichier).Close
' Incrémentation du numéro de ligne
ligne = ligne + 1
Loop
End Sub
|
Vous remarquerez sans doute que je n'ai pas déclaré les variables cheminfichier et nomfichier car j'avais un doute sur leur type ; je sais que ça n'est pas très propre mais au moins ça fonctionne.
A+
Message édité par MadPenguin le 09-08-2006 à 23:38:18