Non cette syntaxe est identique sur les deux lignes comme tu peux le voir. Et la première fonctionne parfaitement.
Les noms des classeurs et de la feuilles sont bien des variables également.
La seul différence est la partie en gras. Je ne comprends pas pourquoi la seconde ligne ne fonctionne pas
Quand je dis qu'elle ne fonctionne pas, j'obtiens une erreur de type : execution 1004 : Erreur définie par l'application ou par l'objet.
Re, Si tu métais 10 secondes à faire tourner quelque chose qui ne fonctionnai pas et que tu mets 10 minutes à faire tourner quelque chose qui fonctionne je ne pense pas que la "viabilité" de la ligne soit en cause. Peut être que le reste du code est à regarder. Des copies en boucles peuvent être très longues surtout si les fichiers sont volumineux. Pour ma part, je pense avoir répondu à la question du fil. En te souhaitant bon courage pour la suite. Cordialement
Non non. Je me suis mal exprimé mon fichier fonctionne en l'état. Et l’exécution est très rapide.
J'importe des données d'un fichier dans plusieurs colonne avec un code ce type :
Ce que je cherchais à réaliser c'est rajouter une sécurité qui permet de pallier à l'ajout de colonne entre mes colonnes de copie.
Car je colle des données dans les colonnes : C,D,E,F, ...AA, AE, AF etc.
Or si l'utilisateur rajoute une colonne en plein milieu les données suivantes seront toutes décalées.
Je cherchais donc à rajouter une boucle pour chaque copie qui cherche l’entête de la colonne cible puis colle les données à cet endroit.
J'ai ajouter ton code pour l'importation d'une colonne et sa fonctionne bien mais l’exécution prends alors beaucoup plus de temps. Je n'ose pas imaginer si j'ajoute le code à toutes mes colonnes.
Voilà le code sur 2 colonnes du fichier qui fonctionne :
For x = 3 To 100
If cells(26, x) = "Nom local" Then
col = x
End If
Next x
Workbooks(c).Sheets("Tableau").Range(Cells(30, col), Cells(j, col)) = Workbooks(D).Sheets(E).Range("E4:E" & i).Value