Bonjour,
Voilà quelques mois que je me mets à faire des petits programmes et je bute encore sur un problème qui j'en suis sûr est une évidence pour vous.
J'ai un bout de code qui s'exécute sur une feuille (appellons la "feuil1"). Ensuite, je souhaite copier des données de "feuil2" vers "feuil3", voilà ce que j'écris :
Ma dernière action avant ce code se situe sur la feuil1, mon problème est donc qu'à l'exécution de la macro, ça foire parce que elle (la macro) tente de repérer ma cellule MStart (donc toute ma matrice) sur la feuil1.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 With ActiveSheet = Sheets("feuil2") Set Matrix = ActiveSheet.Cells Set MStart = Matrix.Find("Account Number") Set Matrix = Range(MStart, MStart.End(xlToRight).End(xlDown)) Matrix.Copy Sheets("feuil3").Select Range("A1").Select ActiveSheet.Paste End With
Je pensais queme permettait de bien définir le rayon d'action du code situé entre les deux
Code : Sélectionner tout - Visualiser dans une fenêtre à part With ActiveSheet = Sheets("feuil2"). Du coup, j'en viens à me dire "bon ben très bien, je vais faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part With
et n'en parlons plus, ça va marcher. Sauf que de ce que j'ai compris en lisant à droite à gauche, le .Select ne fait que ralentir la macro alors j'essaye d'en utiliser le moins possible (je sais, il y en a dans le code que j'ai collé, mais je débute alors...).
Code : Sélectionner tout - Visualiser dans une fenêtre à part Sheets("Feuil2").Select
Pouvez-vous m'expliquer pourquoi ma macro ne se fait pas sur ma feuil2 et comment bien utiliser le With avec les Sheets ?
Merci d'avance !
Runsh
Partager