A voir également:
- VBA boucle ou sélection multiple
- L'indice n'appartient pas à la sélection vba - Forum VB / VBA
- Liste déroulante choix multiple excel - Guide
- Incompatibilité de type vba ✓ - Forum Programmation
- Paris multiple 2/6 explication ✓ - Forum Loisirs / Divertissements
- Inverser selection excel - Forum Excel
3 réponses
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
293
3 déc. 2009 à 16:12
3 déc. 2009 à 16:12
tu mélanges la source et le but.
Essaie ça!
Attention les données en feuille 3 ne sont pas effacées et viennent s'ajouter dans la colonne A
Essaie ça!
Attention les données en feuille 3 ne sont pas effacées et viennent s'ajouter dans la colonne A
Sub recherche() ' ' recherche Macro ' On Error GoTo message_box Sheets("feuil1").Select 'Cells.Find(What:="blablabla", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _ xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _ , SearchFormat:=False).Activate 'fonction recherche 'ActiveCell.Copy With Worksheets("feuil1").Range("a1:a500") Set c = .Find("blablabla", LookIn:=xlValues) If Not c Is Nothing Then firstAddress = c.Address Do c.Copy Sheets("feuil3").Select Range("A65535").End(xlUp).Offset(1, 0).Select ActiveSheet.Paste Sheets("feuil1").Select Set c = .FindNext(c) Loop While Not c Is Nothing And c.Address <> firstAddress End If End With message_box: Dim Msg, Style, Title, Help, Ctxt, Response, MyString Msg = "Il n'y a pas d'éléments comprenant la valeur souhaitée ou ERREUR" ' Définit le message. Style = vbDefaultButton2 ' Définit les boutons. Title = "Information " ' Définit le titre. Help = "DEMO.HLP" ' Définit le fichier d'aide. Ctxt = 1000 ' Définit le contexte de la rubrique. ' Affiche le message. Response = MsgBox(Msg, Style, Title, Help, Ctxt) End Sub
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
293
4 déc. 2009 à 08:38
4 déc. 2009 à 08:38
j'avais laissé le message pour te faire plaisir, mais de cette manière la macro
ne passera jamais dans le message car la boucle infinie est traitée avec le contrôle de la première adresse
et les vides sont exclus saauf si ce que tu recherche n'existe pas.
donc 1°) la macro fonctionne ( je vérifie ce que je post)
2°) tu aurais pu vérifié le résultat en feuille 3 à partir de laligne A2 avant de dire " ça marche pas"
3°) il est normal que le message se soit affiché, j'ai ajouté une ligne noté en gras
4°) Note que tu peux remplacer "blablabla par une variable.
ne passera jamais dans le message car la boucle infinie est traitée avec le contrôle de la première adresse
et les vides sont exclus saauf si ce que tu recherche n'existe pas.
donc 1°) la macro fonctionne ( je vérifie ce que je post)
2°) tu aurais pu vérifié le résultat en feuille 3 à partir de laligne A2 avant de dire " ça marche pas"
3°) il est normal que le message se soit affiché, j'ai ajouté une ligne noté en gras
4°) Note que tu peux remplacer "blablabla par une variable.
Sub recherche() ' ' recherche Macro ' On Error GoTo message_box Sheets("feuil1").Select With Worksheets("feuil1").Range("a1:a500") Set c = .Find("blablabla", LookIn:=xlValues) If Not c Is Nothing Then firstAddress = c.Address Do c.Copy Sheets("feuil3").Select Range("A65535").End(xlUp).Offset(1, 0).Select ActiveSheet.Paste Sheets("feuil1").Select Set c = .FindNext(c) Loop While Not c Is Nothing And c.Address <> firstAddress End If End With GoTo fin message_box: Dim Msg, Style, Title, Help, Ctxt, Response, MyString Msg = "Il n'y a pas d'éléments comprenant la valeur souhaitée ou ERREUR" ' Définit le message. Style = vbDefaultButton2 ' Définit les boutons. Title = "Information " ' Définit le titre. Help = "DEMO.HLP" ' Définit le fichier d'aide. Ctxt = 1000 ' Définit le contexte de la rubrique. ' Affiche le message. Response = MsgBox(Msg, Style, Title, Help, Ctxt) fin: s = MsgBox("Tout s'est bien passé!", vbOKOnly, "Sortie du programme")End Sub
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
293
4 déc. 2009 à 08:41
4 déc. 2009 à 08:41
Oups!
j'ai oublié la ligne en gras
Goto Fin
et bien sur
Fin:
end sub
j'ai oublié la ligne en gras
Goto Fin
et bien sur
Fin:
end sub
Merci,
J'ai failli remettre, "çà marche pas !!" mais ayant plus de doute sur mes capacité que sur les tiennes, j'ai creusé un peu et essayé de comprendre parce que je pense bien que tu vérifies tes post !
Mais oui, çà marche !
C'est juste que j'avais besoin d'adapter la macro à ma problèmatique car en effet je ne cherche pas "blablabla" mais bien une variable !!
Merci encore
A+
Bye
J'ai failli remettre, "çà marche pas !!" mais ayant plus de doute sur mes capacité que sur les tiennes, j'ai creusé un peu et essayé de comprendre parce que je pense bien que tu vérifies tes post !
Mais oui, çà marche !
C'est juste que j'avais besoin d'adapter la macro à ma problèmatique car en effet je ne cherche pas "blablabla" mais bien une variable !!
Merci encore
A+
Bye
3 déc. 2009 à 17:10
il me met directement sur le message d'erreur...
Je creuse encore, mais si t'as d'autres idées, je suis preneur...
Mais merci de ta réponse