Je voudrais affiner ma fonction Rechercher. J'ai utilis=E9
l'enregistreur de Macro, pour avoir ma base de ligne de commande, =E0
avoir le r=E9sultat de Selection de la colonne A puis Ctrl F pour
rechercher "Maman" : j'ai obtenu ceci :
'J'ai fait une mauvaise manipulation, ca envoyer le message, alors je fini (avec mes excuses) '************************************************************************** ********************************* Bonsoir à tous,
Je voudrais affiner ma fonction Rechercher. J'ai utilisé l'enregistreur de Macro, pour avoir ma base de ligne de commande, à avoir le résultat de Selection de la colonne A puis Ctrl F pour rechercher "Maman" : j'ai obtenu ceci :
J'ai rajouté On erreur resume next avant ma fonction rechercher pour au cas ou le mot "maman" n'appaatrait pas dans la liste, j'ai testé et ça a l'air de fonctionner. Mais comme j'ai pas de next après, je voulais savoir si vous pouviez me confirmer du bon fonctionnement de mon choix de mettre On erreur resume next ?
Merci par avance de vos réponses. Cordialement Alex
'J'ai fait une mauvaise manipulation, ca envoyer le message, alors je
fini (avec mes excuses)
'************************************************************************** *********************************
Bonsoir à tous,
Je voudrais affiner ma fonction Rechercher. J'ai utilisé
l'enregistreur de Macro, pour avoir ma base de ligne de commande, à
avoir le résultat de Selection de la colonne A puis Ctrl F pour
rechercher "Maman" : j'ai obtenu ceci :
J'ai rajouté On erreur resume next avant ma fonction rechercher pour
au cas ou le mot "maman" n'appaatrait pas dans la liste, j'ai testé et
ça a l'air de fonctionner. Mais comme j'ai pas de next après, je
voulais savoir si vous pouviez me confirmer du bon fonctionnement de
mon choix de mettre On erreur resume next ?
Merci par avance de vos réponses.
Cordialement
Alex
'J'ai fait une mauvaise manipulation, ca envoyer le message, alors je fini (avec mes excuses) '************************************************************************** ********************************* Bonsoir à tous,
Je voudrais affiner ma fonction Rechercher. J'ai utilisé l'enregistreur de Macro, pour avoir ma base de ligne de commande, à avoir le résultat de Selection de la colonne A puis Ctrl F pour rechercher "Maman" : j'ai obtenu ceci :
J'ai rajouté On erreur resume next avant ma fonction rechercher pour au cas ou le mot "maman" n'appaatrait pas dans la liste, j'ai testé et ça a l'air de fonctionner. Mais comme j'ai pas de next après, je voulais savoir si vous pouviez me confirmer du bon fonctionnement de mon choix de mettre On erreur resume next ?
Merci par avance de vos réponses. Cordialement Alex
MichD
Bonjour,
Comme ceci, il n'est pas nécessaire d'effectuer une sélection de la cellule pour coder
'-------------------------------------- Sub Chercher() Dim Trouve As Range With Worksheets("Feuil1") 'Nom feuille à adapter With .Range("A1:A" & .Range("A65536").End(xlUp).Row) Set Trouve = .Find(What:="Maman", LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByColumns, _ SearchDirection:=xlNext, _ MatchCase:úlse, SearchFormat:úlse) End With End With If Not Trouve Is Nothing Then 'Tu as trouvé ce que tu cherches et tu peux 'continuer à coder sans utiliser de "Select With Trouve .Interior.ColorIndex = 3 .Font.Bold = True .Value = 25 End With Else MsgBox "Pas trouvé ce que tu cherchais" End If End Sub '--------------------------------------
MichD ------------------------------------------ "Alex" a écrit dans le message de groupe de discussion :
Bonsoir à tous,
Je voudrais affiner ma fonction Rechercher. J'ai utilisé l'enregistreur de Macro, pour avoir ma base de ligne de commande, à avoir le résultat de Selection de la colonne A puis Ctrl F pour rechercher "Maman" : j'ai obtenu ceci :
Comme ceci, il n'est pas nécessaire d'effectuer une sélection de la cellule pour coder
'--------------------------------------
Sub Chercher()
Dim Trouve As Range
With Worksheets("Feuil1") 'Nom feuille à adapter
With .Range("A1:A" & .Range("A65536").End(xlUp).Row)
Set Trouve = .Find(What:="Maman", LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByColumns, _
SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse)
End With
End With
If Not Trouve Is Nothing Then
'Tu as trouvé ce que tu cherches et tu peux
'continuer à coder sans utiliser de "Select
With Trouve
.Interior.ColorIndex = 3
.Font.Bold = True
.Value = 25
End With
Else
MsgBox "Pas trouvé ce que tu cherchais"
End If
End Sub
'--------------------------------------
MichD
------------------------------------------
"Alex" a écrit dans le message de groupe de discussion :
01a9a472-231f-4495-8b85-841c23116275@m37g2000yqc.googlegroups.com...
Bonsoir à tous,
Je voudrais affiner ma fonction Rechercher. J'ai utilisé
l'enregistreur de Macro, pour avoir ma base de ligne de commande, à
avoir le résultat de Selection de la colonne A puis Ctrl F pour
rechercher "Maman" : j'ai obtenu ceci :
Comme ceci, il n'est pas nécessaire d'effectuer une sélection de la cellule pour coder
'-------------------------------------- Sub Chercher() Dim Trouve As Range With Worksheets("Feuil1") 'Nom feuille à adapter With .Range("A1:A" & .Range("A65536").End(xlUp).Row) Set Trouve = .Find(What:="Maman", LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByColumns, _ SearchDirection:=xlNext, _ MatchCase:úlse, SearchFormat:úlse) End With End With If Not Trouve Is Nothing Then 'Tu as trouvé ce que tu cherches et tu peux 'continuer à coder sans utiliser de "Select With Trouve .Interior.ColorIndex = 3 .Font.Bold = True .Value = 25 End With Else MsgBox "Pas trouvé ce que tu cherchais" End If End Sub '--------------------------------------
MichD ------------------------------------------ "Alex" a écrit dans le message de groupe de discussion :
Bonsoir à tous,
Je voudrais affiner ma fonction Rechercher. J'ai utilisé l'enregistreur de Macro, pour avoir ma base de ligne de commande, à avoir le résultat de Selection de la colonne A puis Ctrl F pour rechercher "Maman" : j'ai obtenu ceci :
Merci pour la réponse, quand j'ai fait mon test avec ma proposition, j'avais ajouté aussi un if pour voir si cela fonctionnait ou pas. Ta solution est diffrente et fonctionne bien. Mais pourrais tu me confirmer si mes lignes de commandes sont correctes a savoir si l'usage de On error resume next pouvait lui aussi être une solution ou pas car comme je le disais je ne savais pas si cela était correcte ou pas ? Merci par avance de ta réponse. Bien cordialement Alex
Bonsoir Michel,
Merci pour la réponse, quand j'ai fait mon test avec ma proposition,
j'avais ajouté aussi un if pour voir si cela fonctionnait ou pas. Ta
solution est diffrente et fonctionne bien. Mais pourrais tu me
confirmer si mes lignes de commandes sont correctes a savoir si
l'usage de On error resume next pouvait lui aussi être une solution ou
pas car comme je le disais je ne savais pas si cela était correcte ou
pas ?
Merci par avance de ta réponse.
Bien cordialement
Alex
Merci pour la réponse, quand j'ai fait mon test avec ma proposition, j'avais ajouté aussi un if pour voir si cela fonctionnait ou pas. Ta solution est diffrente et fonctionne bien. Mais pourrais tu me confirmer si mes lignes de commandes sont correctes a savoir si l'usage de On error resume next pouvait lui aussi être une solution ou pas car comme je le disais je ne savais pas si cela était correcte ou pas ? Merci par avance de ta réponse. Bien cordialement Alex
MichD
Si tu utilises On error resume next
j'effacerais l'erreur si elle se produit en ajoutant comme dernière ligne Err.clear ou Err = 0
avec la méthode "Find", il faut porter attention aux paramètres..
Exemple si dans la colonne A:A, tu as une formule qui retourne la valeur "Maman" ta procédure ne trouvera pas la cellule. Au lieu de XlFormulas, il faudrait mettre XlValues.
Xlformulas recherche dans ce que retourne la propriété "FormulaLocal" d'une cellule Exemple : a = range("A1").LocalFormula
XlValues cherche dans ce que retourne la propriété "Value" d'une cellule Exemple : a = range("A1").Value
Il faut prendre le temps de bien lire et relire la "Note" dans le bas de la page de l'aide d'Excel sur le sujet.
MichD ------------------------------------------ "Alex" a écrit dans le message de groupe de discussion :
Bonsoir Michel,
Merci pour la réponse, quand j'ai fait mon test avec ma proposition, j'avais ajouté aussi un if pour voir si cela fonctionnait ou pas. Ta solution est diffrente et fonctionne bien. Mais pourrais tu me confirmer si mes lignes de commandes sont correctes a savoir si l'usage de On error resume next pouvait lui aussi être une solution ou pas car comme je le disais je ne savais pas si cela était correcte ou pas ? Merci par avance de ta réponse. Bien cordialement Alex
Si tu utilises On error resume next
j'effacerais l'erreur si elle se produit en ajoutant comme dernière ligne Err.clear ou Err = 0
avec la méthode "Find", il faut porter attention aux paramètres..
Exemple si dans la colonne A:A, tu as une formule qui retourne la valeur "Maman"
ta procédure ne trouvera pas la cellule. Au lieu de XlFormulas, il faudrait mettre XlValues.
Xlformulas recherche dans ce que retourne la propriété "FormulaLocal" d'une cellule
Exemple : a = range("A1").LocalFormula
XlValues cherche dans ce que retourne la propriété "Value" d'une cellule
Exemple : a = range("A1").Value
Il faut prendre le temps de bien lire et relire la "Note" dans le bas de la page de l'aide d'Excel sur le sujet.
MichD
------------------------------------------
"Alex" a écrit dans le message de groupe de discussion : 88b980bd-5a11-497a-9a5e-3e2304b112fe@b6g2000vbz.googlegroups.com...
Bonsoir Michel,
Merci pour la réponse, quand j'ai fait mon test avec ma proposition,
j'avais ajouté aussi un if pour voir si cela fonctionnait ou pas. Ta
solution est diffrente et fonctionne bien. Mais pourrais tu me
confirmer si mes lignes de commandes sont correctes a savoir si
l'usage de On error resume next pouvait lui aussi être une solution ou
pas car comme je le disais je ne savais pas si cela était correcte ou
pas ?
Merci par avance de ta réponse.
Bien cordialement
Alex
j'effacerais l'erreur si elle se produit en ajoutant comme dernière ligne Err.clear ou Err = 0
avec la méthode "Find", il faut porter attention aux paramètres..
Exemple si dans la colonne A:A, tu as une formule qui retourne la valeur "Maman" ta procédure ne trouvera pas la cellule. Au lieu de XlFormulas, il faudrait mettre XlValues.
Xlformulas recherche dans ce que retourne la propriété "FormulaLocal" d'une cellule Exemple : a = range("A1").LocalFormula
XlValues cherche dans ce que retourne la propriété "Value" d'une cellule Exemple : a = range("A1").Value
Il faut prendre le temps de bien lire et relire la "Note" dans le bas de la page de l'aide d'Excel sur le sujet.
MichD ------------------------------------------ "Alex" a écrit dans le message de groupe de discussion :
Bonsoir Michel,
Merci pour la réponse, quand j'ai fait mon test avec ma proposition, j'avais ajouté aussi un if pour voir si cela fonctionnait ou pas. Ta solution est diffrente et fonctionne bien. Mais pourrais tu me confirmer si mes lignes de commandes sont correctes a savoir si l'usage de On error resume next pouvait lui aussi être une solution ou pas car comme je le disais je ne savais pas si cela était correcte ou pas ? Merci par avance de ta réponse. Bien cordialement Alex