Macro Recherche avec 2 variables
Bonjour à tous,
Malgré de très longues heures de recherche et n’étant pas parvenu à mes fins, je m’en remets votre aide, je suis désespéré! :d
Je travaille pour le boulot sur une macro qui aurait plusieurs utilités.
L’une d’entre-elles serait la suivante :
Dans une feuille donnée (« feuillesource ») on trouve:
En A 1, A2, A3 (liste verticale) , les différentes valeurs (nomdefeuille) représentant le nom de la feuille du classeur sur laquelle rechercher à chaque fois une seconde valeur (valeur2).
A1 = Feuil1 , A2 = Feuil2, etc…
Une fois cette variable(nomdefeuille) définie, il faudra définir une seconde variable à partir de l'emplacement de la première:
C'est à dire: La valeur de la 1ère cellule à droite de la (nomdefeuille), cette 2nde variable s’appellera (valeur2).
Deuxième étape :
Se rendre sur (Feuil1) et y chercher (valeur2).
Une fois (valeur2) trouvée, copier le contenu des 30 cellules qui sont en dessous et les coller sur une autre feuille quelconque.
3ème étape :
Une fois la 2ème étape effectuée, la macro devrait retourner sur (« feuillesource ») et y chercher la valeur se trouvant cette fois-ci DEUX cellules à droite de Cells(« nomdefeuille ») .
Une fois trouvée, la valeur de cette cellule deviendra la nouvelle (valeur2) à chercher et trouver sur (« Feuil1 »), toujours, pour ensuite répéter l'opération de copier/coller .
Lorsqu’il n’y aura plus de valeur à droite de Cells(« nomdefeuille »), la macro devra aller chercher la nouvelle variable (nomdefeuille) en descendant d’une ligne, en l’occurrence pour trouver (nomdefeuille) = Feuil2, en A2
Je suis désolé de devoir vous expliquer tout cela avec du texte, mais ne maitrisant pas du tout la gestion de variables à définir et surtout leur syntaxe, le code que j’ai grifonné n’aura pas grand sens à vos yeux je pense.
Je vous en colle malgré tout un petit bout (qui n’est qu’une ébauche et contiendra donc des erreurs):
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| Sub test3()
Dim lignenomfeuille As String
Dim nompartner As String
Dim cellulepartner As Range
Dim ligne As Integer
Dim col As Integer
lignenomfeuille = 1
cellulepartner = 2
'définit début recherche partner
If Sheets("feuillesource").Cells("cellulepartner,1") <> 0 Then
nompartner = Sheets("Clicks").Cells("cellulepartner,1").Value
'va à la feuille concernée
Sheets("feuille").Activate
'cherche le partner dans la feuille
Set cellulepartner = Range("A1:E5").Find(nompartner, lookat:=xlWhole)
End Sub |
Je remercie d'avance les bonnes âmes qui voudront bien m'aider...
Si vous avez besoin de précisions n'hésitez pas :)
Merci
Maxime