Copie de colonne après recherche
Bonjour à tous,
J'ai un code de copie de colonne en fonction d'une recherche qui fonctionne parfaitement. mais qui une fois dupliqué ne fonctionne plus...
| A | B | C | X | Y | Z | |
| A1 | B1 | C1 | X1 | Y1 | Z1 | |
| A2 | B2 | C2 | X2 | Y2 | Z2 | |
| X3 | Y3 | Z3 |
Voici comment se présent le tableau il est scindé en deux une plage ABC et une XYZ. En fonction d'un paramètre défini je cherche soit dans la plage ABC soit dans la XYZ.
Voici le code, et son explication si ma variable "Table" = 1 il cherche un valeur définie dans la ligne ABC (La valeur est A,B ou C), récupère la colonne de la recherche en cherchant la dernière cas remplie puis va la copier sur une autre feuille.
Lorsque je pointe sur la formule 1 tout fonctionne bien, mais quand je passe sur le Else, il copie bien la Colonne A mais pas la B. Je ne comprends vraiment pas pourquoi, la fonction est 100% la même... En pas à pas détaillé, tout semble correct pourtant. Auriez-vous une idée ? Peux-être le fait d'arriver sur des colonnes à deux lettres ? Je peux partager éventuellement mon Excel mais il est assez compliqué donc il faudra que je vous aiguille sur le remplissage...
'Définition des objets / Recherche de la ligne AR
If Table = 2 Then
Set Plage = WS.Range("B1", "T1")
Set Recherche = Plage.Find(What:=U1_ComboBox_Rating, LookAt:=xlWhole)
Colonne = Recherche.Column
WS.Range("A1", WS.Range("A1").End(xlDown)).Copy Annexe.Range("A1")
WS.Range("A1", WS.Range("A1").End(xlDown)).Columns(Colonne).Copy Annexe.Range("B1")
Else
Set Plage = WS.Range("X1", "AD1")
Set Recherche = Plage.Find(What:=U1_ComboBox_Rating, LookAt:=xlWhole)
Colonne = Recherche.Column
WS.Range("X1", WS.Range("X1").End(xlDown)).Copy Annexe.Range("A1")
WS.Range("X1", WS.Range("X1").End(xlDown)).Columns(Colonne).Copy Annexe.Range("B1")
End If Merci.J'ai trouvé une parade, elle m'arrange moins car je dois prévoir à l'avance la fin de mon programme mais pas grave. Au lieu d'aligner les tableaux je les ai superposés.
J’effectue les modifications pour chercher sur les bonnes lignes et tout es ok.
'Définition des objets / Recherche de la ligne AR
If Table = 2 Then
Set Plage = WS.Range("B1", "T1")
Set Recherche = Plage.Find(What:=U1_ComboBox_Rating, LookAt:=xlWhole)
Colonne = Recherche.Column
WS.Range("A1", WS.Range("A1").End(xlDown)).Copy Annexe.Range("A1")
WS.Range("A1", WS.Range("A1").End(xlDown)).Columns(Colonne).Copy Annexe.Range("B1")
Else
Set Plage = WS.Range("A30", "T30")
Set Recherche = Plage.Find(What:=U1_ComboBox_Rating, LookAt:=xlWhole)
Colonne = Recherche.Column
WS.Range("A30", WS.Range("A30").End(xlDown)).Copy Annexe.Range("A1")
WS.Range("A30", WS.Range("A30").End(xlDown)).Columns(Colonne).Copy Annexe.Range("B1")
End If