Pb VBA Excel équivalent à RechercheV
Bonjour à tous,
Je viens vers vous car, comme énoncé plus haut, je rencontre un problème dans mes macros Excel. Je vous explique :
J'ai créé plusieurs feuilles sur mon fichier Excel :
- Une feuille "Références clients" qui comporte les colonnes suivante : Code client, nom, adresse, CP, VILLE, Pays, téléphone, e-mail
- Une feuille "Devis du client"
J'aimerai, après avoir mentionné le code du client (ex: "ESPVCLT007") dans un InputBox, qu'il aille me chercher cette référence dans la feuille "Référence clients" et qu'il, lorsqu'il me l'a trouvé, me l'inscrive dans la cellule (10 , 1) de ma feuille "Devis de client". Dans le même temps, j'aimerai qu'il me récolte toutes les informations correspondantes à ce code de référence client (son nom, adresse, CP etc...) et qu'il me les retranscrive dans des cellule précises de ma feuille "Devis du client".
Tout cela retranscrit dans un Do While
J'ai déjà eu une petite idée, mais cela n'aboutit à rien, je suis perdue :calim2: :
Code:
1 2 3 4 5 6
| Do While Worksheets("Références clients").Cells(i, 1).Value <> ""
If Cells(i, j).Value = "ESPVCLT00" Then
retrouve = "ESPVCLT00"
compteur = compteur + 1
End If
Loop |
Auriez-vous une petite idée de ce que je dois inscrire ?
En vous remerciant d'avance,
Marina.
1 pièce(s) jointe(s)
Est-ce impossible avec un "Do While" ?
Merci de m'avoir répondu aussi vite,
Cependant, j'aimerai savoir si cela est quand même possible avec un Do While ? Je suis assez novice en la matière, donc cela reste assez flou pour moi... et je trouve cela plus simple.
Je t'ai mis en pièce jointe mon fichier Excel, avec les macros que j'ai déjà créé pour que tu puisses mieux cerner mon problème.
pb VBA Excel équivalent rechercheV
Bonjour,
voici un code élémentaire qui marche pour l'avoir testé.
la boucle while n'a aucun intéret dans ce problème.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
Sub devis()
' code très élémentaire qui doit être amélioré
' la boucle do while n'a aucun intérêt dans ce cas
Dim trouve As Integer
Dim reponse As String
reponse = InputBox(" donner la référence")
Sheets("ref").Activate
If UCase(reponse) <> "" Then ' pour le cas ou les ref seraient en majuscule la reponse est convertie
'cherche la ligne de la reference si elle existe
trouve = Application.Match(reponse, Range("A2:A20"), 0)
Else
MsgBox " référence non trouvée"
End If
'range les differentes valeurs trouvées dans devis (les cellules sont à adapter)
With Sheets("devis")
.Range("a1") = Cells(trouve + 1, 1).Value ' le . devant range -> Sheets("devis").range()
.Range("b1") = Cells(trouve + 1, 1).Offset(0, 1).Value ' "trouve +1" car nous commencons la recherche en A2
.Range("C1") = Cells(trouve + 1, 1).Offset(0, 2).Value
End With
End Sub |
Cordialement,
pb VBA Excel équivalent rechercheV
re....,
j'ai le sentiment que tu as inversé les deux terme de l'égalité dans ta seconde sub qui est censé insérer dans devis si je comprends bien.
Me trompe-je ?
cordialement,