OVH Cloud OVH Cloud

il me manque un code VBA pour une requete

12 réponses
Avatar
hali
Bonjour,

J'ai réussi au niveau d'un tableau qui comprend
une colonne client et d'autre colonnes
a faire une requete.
c'est a dire dans la colonne clients je peux avoir plusieurs fois le meme nom
donc j'ai fait un bouton de commande qui me restitue sur une autre feuille
suivant le nom choisi les valeurs lui correspondant

en appuyant sur ce bouton de commande, je choisi un nom ex dupont
mais sur l'onglet qui s'ouvre j'ai seulement une seul ligne avec ce nom
alors que sur le tableau initial j'ai plusieurs dupond

comment affiner mon code
pour selectionner tout les dupond par exemple

merci

2 réponses

1 2
Avatar
hali
merci beaucoup
pour ton code il a l'air de marcher
ok

"JpPradier" wrote:

Voici ton code adapté pour le findnext.

j-p


Sub tape_et_lit()

With Sheets("1c").Range("a:a")
nom = "dupont" ' InputBox("Tapez le nom recherché :", "Recherche")
If nom = "" Then MsgBox "Vous n'avez rien tapé": Exit Sub
Set c = .Find(nom, LookIn:=xlValues)
If (c Is Nothing) Then
MsgBox nom & " n'a pas été trouvé": Exit Sub
Else
cpt = 0
firstAddress = c.Address
Do
Sheets("3c2").Range("A2").Offset(cpt) = c.Offset(0, 0).Value
Sheets("3c2").Range("B2").Offset(cpt) = c.Offset(0, 1).Value
Sheets("3c2").Range("C2").Offset(cpt) = c.Offset(0, 5).Value
Sheets("3c2").Range("D2").Offset(cpt) = c.Offset(0, 6).Value
Sheets("3c2").Range("E2").Offset(cpt) = c.Offset(0, 7).Value
cpt = cpt + 1
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
Application.EnableEvents = False
Sheets("3c2").Activate
Application.EnableEvents = True

End If
End With

End Sub




Avatar
sabatier
mon pauvre hali
tu n'as décidément rien compris au film....
peux-tu me faire le plaisir de relire ta réponse ci-dessous?
ton "il a l'air de marcher" va aller doit au coeur de JpPradier, ne
penses-tu pas?
vous excuserez, j'espère, un ton qui ne m'est pas (trop) familier mais,
vraiment, hali, ou bien tu as un petit pois dans le cigare ou tu joues au
con et là, j'avoue que tu as du talent...
jps

"hali" a écrit dans le message de
news:
merci beaucoup
pour ton code il a l'air de marcher
ok

"JpPradier" wrote:

Voici ton code adapté pour le findnext.

j-p


Sub tape_et_lit()

With Sheets("1c").Range("a:a")
nom = "dupont" ' InputBox("Tapez le nom recherché :", "Recherche")
If nom = "" Then MsgBox "Vous n'avez rien tapé": Exit Sub
Set c = .Find(nom, LookIn:=xlValues)
If (c Is Nothing) Then
MsgBox nom & " n'a pas été trouvé": Exit Sub
Else
cpt = 0
firstAddress = c.Address
Do
Sheets("3c2").Range("A2").Offset(cpt) = c.Offset(0, 0).Value
Sheets("3c2").Range("B2").Offset(cpt) = c.Offset(0, 1).Value
Sheets("3c2").Range("C2").Offset(cpt) = c.Offset(0, 5).Value
Sheets("3c2").Range("D2").Offset(cpt) = c.Offset(0, 6).Value
Sheets("3c2").Range("E2").Offset(cpt) = c.Offset(0, 7).Value
cpt = cpt + 1
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
Application.EnableEvents = False
Sheets("3c2").Activate
Application.EnableEvents = True

End If
End With

End Sub






1 2