Bonjour à tous,
Malgré de multiples recherches je ne trouve pas pourquoi mon code ci-après ne fonctionne pas. Bon j'avoue que c'est du bricolage de tout ce que j'ai pu récupérer à droite et à gauche sur le forum et ailleurs
Ce que je veux : importer un fichier, contenant plusieurs feuilles (nombre de feuilles aléatoire).
Pour chaque feuille, renseigner de la cellule I3 à "la fin" avec le nom de la feuille (vous verrez que dans mon code je ne prends que les 3 premières lettres).
VBA me signale que c'est "For Each ws In ActiveWorkbook" qui merde...Je suis un peu désemparée...Je dois utiliser qqch qui n'existe pas non ?
D'avance merci à tous pour vos conseils,
K.
Malgré de multiples recherches je ne trouve pas pourquoi mon code ci-après ne fonctionne pas. Bon j'avoue que c'est du bricolage de tout ce que j'ai pu récupérer à droite et à gauche sur le forum et ailleurs
Ce que je veux : importer un fichier, contenant plusieurs feuilles (nombre de feuilles aléatoire).
Pour chaque feuille, renseigner de la cellule I3 à "la fin" avec le nom de la feuille (vous verrez que dans mon code je ne prends que les 3 premières lettres).
Code:
Sub Importer_données()
Dim fichier As String, wbk As Workbook
fichier = Application.GetOpenFilename("Fichier Excel, *.xls; *.xlsx", , , , False)
If UCase(fichier) = "FAUX" Then Exit Sub
Set wbk = Application.Workbooks.Open(fichier, , False)
nomfichier = ActiveWorkbook.Name
Dim ws As Worksheet
For Each ws In ActiveWorkbook
Range("I3").Select
ActiveCell.FormulaR1C1 = _
"=MID(CELL(""nomfichier"",RC[-6]),FIND(""]"",CELL(""nomfichier"",RC[-6]))+1,3)"
Selection.AutoFill Destination:=Range("I3:I" & Range("A3").End(xlDown).Row), Type:=xlFillValues
Next ws
End Sub
VBA me signale que c'est "For Each ws In ActiveWorkbook" qui merde...Je suis un peu désemparée...Je dois utiliser qqch qui n'existe pas non ?
D'avance merci à tous pour vos conseils,
K.