Copie d'une cellule d'un classeur vers un autre sous condition
Copie d'une cellule d'un classeur vers un autre sous condition - VB/VBA/VBS - Programmation
MarshPosté le 15-01-2009 à 00:24:45
Bonjour,
Voilà ce que je cherche à faire :
1. J'ai deux classeurs Excel A et B A Contient une liste de véhicule (dont le nombre peut varier mais ne peut excéder 45) dans la colonne X. B Contient plusieurs onglet avec le nom (ou pas) identique à la liste du classeur A de chaque véhicule
2. Je cherche à copier la range("A1" ) de chaque onglet du classeur B dans le classeur A, dans l'ordre des véhicules de la liste du classeur A...
Windows("A.xls" ).Activate Sheets("Feuil1" ).Activate 'recherche chaque véhicule de la liste et vérifie que la cellule n'est pas vide For each a in range ("X1:X45" ) if a <> "" Then 'recherche dans le classeur B l'onglet qui porte le nom du premier véhicule de la liste Windows("B.xls" ).Activate Set t = .Find(Sheets(1).Range(a).Value) If Not t Is Nothing Then 'Si il trouve l'onglet alors il active l'onglet et copie la cellule A1 dans le classeur A colonne Y ActiveSheets.Activate Range("A1" ).copy Windows("A.xls" ).Activate Sheets("Feuil1" ).Activate Range("Y1" ).Select Selection.Paste End if next a End Sub
Voici la macro que j'ai essayé mais bien entendu ça bloque dès la recherche dans le classeur B d'un onglet portant le nom du premier véhicule de la liste !
Je débute dans le milieux! Merci de m'aider à trouver un début de réponse !
Marsh Posté le 15-01-2009 à 00:24:45
Bonjour,
Voilà ce que je cherche à faire :
1. J'ai deux classeurs Excel A et B
A Contient une liste de véhicule (dont le nombre peut varier mais ne peut excéder 45) dans la colonne X.
B Contient plusieurs onglet avec le nom (ou pas) identique à la liste du classeur A de chaque véhicule
2. Je cherche à copier la range("A1" ) de chaque onglet du classeur B dans le classeur A, dans l'ordre des véhicules de la liste du classeur A...
Windows("A.xls" ).Activate
Sheets("Feuil1" ).Activate
'recherche chaque véhicule de la liste et vérifie que la cellule n'est pas vide
For each a in range ("X1:X45" )
if a <> "" Then
'recherche dans le classeur B l'onglet qui porte le nom du premier véhicule de la liste
Windows("B.xls" ).Activate
Set t = .Find(Sheets(1).Range(a).Value)
If Not t Is Nothing Then
'Si il trouve l'onglet alors il active l'onglet et copie la cellule A1 dans le classeur A colonne Y
ActiveSheets.Activate
Range("A1" ).copy
Windows("A.xls" ).Activate
Sheets("Feuil1" ).Activate
Range("Y1" ).Select
Selection.Paste
End if
next a
End Sub
Voici la macro que j'ai essayé mais bien entendu ça bloque dès la recherche dans le classeur B d'un onglet portant le nom du premier véhicule de la liste !
Je débute dans le milieux! Merci de m'aider à trouver un début de réponse !
Vincent.