Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel
Bonjour. Quand la recherche est infructueuse, la plage que tu veux sélecter n'existe pas, d'où l'erreur; mets :
If Not Cells.Find(What:="monnom", After:¬tiveCell, LookIn:=xlFormulas _ , LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse) Is Nothing Then
MsgBox ("trouve : " & Cells)
End If
Cordialement. Daniel "sharpegreg" a écrit dans le message de news:
Hello,
j'utilise le code suivant pour rechercher "monnom" dans une feuille
If Cells.Find(What:="monnom", After:¬tiveCell, LookIn:=xlFormulas _ , LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse).Select = true then
msgbox("trouve : " & cells)
end if
seulement si il n'existe pas, la macro plante et s'arrete. Que faut il changer pour que la macro ignore le cas lorsque la valeur n'est pas presente.
Par ailleurs il faudrait que la macro s'execute pour dans toutes les feuilles du classeur ? quel est le code ? for x next ???
d'avance merci
Greg
Bonjour.
Quand la recherche est infructueuse, la plage que tu veux sélecter n'existe
pas, d'où l'erreur; mets :
If Not Cells.Find(What:="monnom", After:¬tiveCell, LookIn:=xlFormulas _
, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse) Is Nothing Then
MsgBox ("trouve : " & Cells)
End If
Cordialement.
Daniel
"sharpegreg" <sharpegreg@discussions.microsoft.com> a écrit dans le message
de news: 70E3D7B0-46C0-4D04-89B2-E2DB71B8FA1F@microsoft.com...
Hello,
j'utilise le code suivant pour rechercher "monnom" dans une feuille
If Cells.Find(What:="monnom", After:¬tiveCell, LookIn:=xlFormulas _
, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse).Select = true then
msgbox("trouve : " & cells)
end if
seulement si il n'existe pas, la macro plante et s'arrete. Que faut il
changer pour que la macro ignore le cas lorsque la valeur n'est pas
presente.
Par ailleurs il faudrait que la macro s'execute pour dans toutes les
feuilles du classeur ? quel est le code ? for x next ???
Bonjour. Quand la recherche est infructueuse, la plage que tu veux sélecter n'existe pas, d'où l'erreur; mets :
If Not Cells.Find(What:="monnom", After:¬tiveCell, LookIn:=xlFormulas _ , LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse) Is Nothing Then
MsgBox ("trouve : " & Cells)
End If
Cordialement. Daniel "sharpegreg" a écrit dans le message de news:
Hello,
j'utilise le code suivant pour rechercher "monnom" dans une feuille
If Cells.Find(What:="monnom", After:¬tiveCell, LookIn:=xlFormulas _ , LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse).Select = true then
msgbox("trouve : " & cells)
end if
seulement si il n'existe pas, la macro plante et s'arrete. Que faut il changer pour que la macro ignore le cas lorsque la valeur n'est pas presente.
Par ailleurs il faudrait que la macro s'execute pour dans toutes les feuilles du classeur ? quel est le code ? for x next ???
d'avance merci
Greg
ThierryP
bonjour sharpegreg,
Avant ta recherche, tu mets un on error resume next, que tu peux réinitialiser par on error goto 0 for i = 1 to workbooks.count TaMacro next
Hello,
j'utilise le code suivant pour rechercher "monnom" dans une feuille
If Cells.Find(What:="monnom", After:¬tiveCell, LookIn:=xlFormulas _ , LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse).Select = true then
msgbox("trouve : " & cells)
end if
seulement si il n'existe pas, la macro plante et s'arrete. Que faut il changer pour que la macro ignore le cas lorsque la valeur n'est pas presente.
Par ailleurs il faudrait que la macro s'execute pour dans toutes les feuilles du classeur ? quel est le code ? for x next ???
d'avance merci
Greg
-- @+ thierryp ----------------- Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet - G. Courteline
bonjour sharpegreg,
Avant ta recherche, tu mets un on error resume next, que tu peux
réinitialiser par on error goto 0
for i = 1 to workbooks.count
TaMacro
next
Hello,
j'utilise le code suivant pour rechercher "monnom" dans une feuille
If Cells.Find(What:="monnom", After:¬tiveCell, LookIn:=xlFormulas _
, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse).Select = true then
msgbox("trouve : " & cells)
end if
seulement si il n'existe pas, la macro plante et s'arrete. Que faut il
changer pour que la macro ignore le cas lorsque la valeur n'est pas presente.
Par ailleurs il faudrait que la macro s'execute pour dans toutes les
feuilles du classeur ? quel est le code ? for x next ???
d'avance merci
Greg
--
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline
Avant ta recherche, tu mets un on error resume next, que tu peux réinitialiser par on error goto 0 for i = 1 to workbooks.count TaMacro next
Hello,
j'utilise le code suivant pour rechercher "monnom" dans une feuille
If Cells.Find(What:="monnom", After:¬tiveCell, LookIn:=xlFormulas _ , LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse).Select = true then
msgbox("trouve : " & cells)
end if
seulement si il n'existe pas, la macro plante et s'arrete. Que faut il changer pour que la macro ignore le cas lorsque la valeur n'est pas presente.
Par ailleurs il faudrait que la macro s'execute pour dans toutes les feuilles du classeur ? quel est le code ? for x next ???
d'avance merci
Greg
-- @+ thierryp ----------------- Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet - G. Courteline
papou
Bonjour For i = 1 To Sheets.Count With Worksheets(i).Cells Set c = .Find(What:="monnom", After:¬tiveCell, LookIn:=xlFormulas _ , LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse) If Not c Is Nothing Then MsgBox "trouve en : " & c.Address & " sur " & Worksheets(i).Name Else MsgBox "non trouvé sur " & Worksheets(i).Name End If End With Next i Set c = Nothing
Cordialement Pascal
Bonjour
For i = 1 To Sheets.Count
With Worksheets(i).Cells
Set c = .Find(What:="monnom", After:¬tiveCell, LookIn:=xlFormulas _
, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse)
If Not c Is Nothing Then
MsgBox "trouve en : " & c.Address & " sur " & Worksheets(i).Name
Else
MsgBox "non trouvé sur " & Worksheets(i).Name
End If
End With
Next i
Set c = Nothing
Bonjour For i = 1 To Sheets.Count With Worksheets(i).Cells Set c = .Find(What:="monnom", After:¬tiveCell, LookIn:=xlFormulas _ , LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse) If Not c Is Nothing Then MsgBox "trouve en : " & c.Address & " sur " & Worksheets(i).Name Else MsgBox "non trouvé sur " & Worksheets(i).Name End If End With Next i Set c = Nothing
Cordialement Pascal
JB
Bonjour,
Pour rechercher dans une feuille, 2 approches:
http://cjoint.com/?dDmlcZzrUW
Sub cherche() nomCherche = InputBox("Nom cherché? ") On Error Resume Next Err = 0 Range("A2:A14").Find(What:=nomCherche, LookIn:=xlValues).Select If Err = 0 Then Range(ActiveCell, ActiveCell.End(xlToRight)).Select Else MsgBox "Pas trouvé" End If On Error GoTo 0 End Sub
Sub cherche2() nomCherche = InputBox("Nom cherché? ") Set result = Range("A2:A14").Find(What:=nomCherche, LookIn:=xlValues) If result Is Nothing Then MsgBox "Non trouvé" Else Range(result, result.End(xlToRight)).Select End If End Sub
Pour toutes les feuilles:
For s=1 To Sheets.count Sheets(i).Activate .... Next s
Cordialement JB
Bonjour,
Pour rechercher dans une feuille, 2 approches:
http://cjoint.com/?dDmlcZzrUW
Sub cherche()
nomCherche = InputBox("Nom cherché? ")
On Error Resume Next
Err = 0
Range("A2:A14").Find(What:=nomCherche, LookIn:=xlValues).Select
If Err = 0 Then
Range(ActiveCell, ActiveCell.End(xlToRight)).Select
Else
MsgBox "Pas trouvé"
End If
On Error GoTo 0
End Sub
Sub cherche2()
nomCherche = InputBox("Nom cherché? ")
Set result = Range("A2:A14").Find(What:=nomCherche,
LookIn:=xlValues)
If result Is Nothing Then
MsgBox "Non trouvé"
Else
Range(result, result.End(xlToRight)).Select
End If
End Sub
Pour toutes les feuilles:
For s=1 To Sheets.count
Sheets(i).Activate
....
Next s
Sub cherche() nomCherche = InputBox("Nom cherché? ") On Error Resume Next Err = 0 Range("A2:A14").Find(What:=nomCherche, LookIn:=xlValues).Select If Err = 0 Then Range(ActiveCell, ActiveCell.End(xlToRight)).Select Else MsgBox "Pas trouvé" End If On Error GoTo 0 End Sub
Sub cherche2() nomCherche = InputBox("Nom cherché? ") Set result = Range("A2:A14").Find(What:=nomCherche, LookIn:=xlValues) If result Is Nothing Then MsgBox "Non trouvé" Else Range(result, result.End(xlToRight)).Select End If End Sub
Pour toutes les feuilles:
For s=1 To Sheets.count Sheets(i).Activate .... Next s
Cordialement JB
sharpegreg
Merci
Bonjour For i = 1 To Sheets.Count With Worksheets(i).Cells Set c = .Find(What:="monnom", After:¬tiveCell, LookIn:=xlFormulas _ , LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse) If Not c Is Nothing Then MsgBox "trouve en : " & c.Address & " sur " & Worksheets(i).Name Else MsgBox "non trouvé sur " & Worksheets(i).Name End If End With Next i Set c = Nothing
Cordialement Pascal
Merci
Bonjour
For i = 1 To Sheets.Count
With Worksheets(i).Cells
Set c = .Find(What:="monnom", After:¬tiveCell, LookIn:=xlFormulas _
, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse)
If Not c Is Nothing Then
MsgBox "trouve en : " & c.Address & " sur " & Worksheets(i).Name
Else
MsgBox "non trouvé sur " & Worksheets(i).Name
End If
End With
Next i
Set c = Nothing
Bonjour For i = 1 To Sheets.Count With Worksheets(i).Cells Set c = .Find(What:="monnom", After:¬tiveCell, LookIn:=xlFormulas _ , LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse) If Not c Is Nothing Then MsgBox "trouve en : " & c.Address & " sur " & Worksheets(i).Name Else MsgBox "non trouvé sur " & Worksheets(i).Name End If End With Next i Set c = Nothing
Cordialement Pascal
lSteph
Bonjour, A condition de limiter à une taille de plage raisonnable (ici a1:m500) et à ce titre en fonction du nombre de cellules susceptibles de contenir la chaîne recherchée pour pouvoir afficher résultat dans un msgbox:
Sub testsearch() Dim ltxt As String, c As Range, _ sh As Worksheet, mess As String ltxt = InputBox("texte à chercher: ") For Each sh In ActiveWorkbook.Worksheets mess = mess & vbCrLf & sh.Name & ":" & vbCrLf For Each c In sh.Range("a1:m500").Cells If Not IsEmpty(c) Then If c.Text Like "*" & ltxt & "*" Then mess = mess & " " & c.Address End If End If Next Next MsgBox mess
End Sub
'lSteph
"sharpegreg" a écrit dans le message de news:
Hello,
j'utilise le code suivant pour rechercher "monnom" dans une feuille
If Cells.Find(What:="monnom", After:¬tiveCell, LookIn:=xlFormulas _ , LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse).Select = true then
msgbox("trouve : " & cells)
end if
seulement si il n'existe pas, la macro plante et s'arrete. Que faut il changer pour que la macro ignore le cas lorsque la valeur n'est pas presente.
Par ailleurs il faudrait que la macro s'execute pour dans toutes les feuilles du classeur ? quel est le code ? for x next ???
d'avance merci
Greg
Bonjour,
A condition de limiter à une taille de plage raisonnable (ici a1:m500) et à
ce titre en fonction du nombre
de cellules susceptibles de contenir la chaîne recherchée pour pouvoir
afficher résultat dans un msgbox:
Sub testsearch()
Dim ltxt As String, c As Range, _
sh As Worksheet, mess As String
ltxt = InputBox("texte à chercher: ")
For Each sh In ActiveWorkbook.Worksheets
mess = mess & vbCrLf & sh.Name & ":" & vbCrLf
For Each c In sh.Range("a1:m500").Cells
If Not IsEmpty(c) Then
If c.Text Like "*" & ltxt & "*" Then
mess = mess & " " & c.Address
End If
End If
Next
Next
MsgBox mess
End Sub
'lSteph
"sharpegreg" <sharpegreg@discussions.microsoft.com> a écrit dans le message
de news: 70E3D7B0-46C0-4D04-89B2-E2DB71B8FA1F@microsoft.com...
Hello,
j'utilise le code suivant pour rechercher "monnom" dans une feuille
If Cells.Find(What:="monnom", After:¬tiveCell, LookIn:=xlFormulas _
, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse).Select = true then
msgbox("trouve : " & cells)
end if
seulement si il n'existe pas, la macro plante et s'arrete. Que faut il
changer pour que la macro ignore le cas lorsque la valeur n'est pas
presente.
Par ailleurs il faudrait que la macro s'execute pour dans toutes les
feuilles du classeur ? quel est le code ? for x next ???
Bonjour, A condition de limiter à une taille de plage raisonnable (ici a1:m500) et à ce titre en fonction du nombre de cellules susceptibles de contenir la chaîne recherchée pour pouvoir afficher résultat dans un msgbox:
Sub testsearch() Dim ltxt As String, c As Range, _ sh As Worksheet, mess As String ltxt = InputBox("texte à chercher: ") For Each sh In ActiveWorkbook.Worksheets mess = mess & vbCrLf & sh.Name & ":" & vbCrLf For Each c In sh.Range("a1:m500").Cells If Not IsEmpty(c) Then If c.Text Like "*" & ltxt & "*" Then mess = mess & " " & c.Address End If End If Next Next MsgBox mess
End Sub
'lSteph
"sharpegreg" a écrit dans le message de news:
Hello,
j'utilise le code suivant pour rechercher "monnom" dans une feuille
If Cells.Find(What:="monnom", After:¬tiveCell, LookIn:=xlFormulas _ , LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse).Select = true then
msgbox("trouve : " & cells)
end if
seulement si il n'existe pas, la macro plante et s'arrete. Que faut il changer pour que la macro ignore le cas lorsque la valeur n'est pas presente.
Par ailleurs il faudrait que la macro s'execute pour dans toutes les feuilles du classeur ? quel est le code ? for x next ???
d'avance merci
Greg
michdenis
Bonjour sharpegreg,
Dans l'aide d'excel, il y a ce paragraphe sur la méthode Find d'un objet range :
Notes Les paramètres des arguments LookIn, LookAt, SearchOrder et MatchByte sont enregistrés chaque fois que vous utilisez cette méthode. Si vous ne spécifiez aucun paramètre pour ces arguments lors du prochain appel de la méthode, les paramètres enregistrés sont utilisés. Le fait de définir les paramètres de ces arguments modifie les paramètres de la boîte de dialogue Rechercher, ce qui a pour effet de changer les paramètres enregistrés qui sont utilisés lorsque vous ne spécifiez pas les arguments. Pour éviter toute ambiguïté, définissez ces arguments de façon explicite chaque fois que vous utilisez cette méthode.
Dans ton cas, selon le contenu de ta feuille de calcul, ce serait plus prudent d'utiliser ceci pour ces paramètres : LookIn:=xlValues et LookAt:=xlPart
Salutations!
"sharpegreg" a écrit dans le message de news:
Hello,
j'utilise le code suivant pour rechercher "monnom" dans une feuille
If Cells.Find(What:="monnom", After:¬tiveCell, LookIn:=xlFormulas _ , LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse).Select = true then
msgbox("trouve : " & cells)
end if
seulement si il n'existe pas, la macro plante et s'arrete. Que faut il changer pour que la macro ignore le cas lorsque la valeur n'est pas presente.
Par ailleurs il faudrait que la macro s'execute pour dans toutes les feuilles du classeur ? quel est le code ? for x next ???
d'avance merci
Greg
Bonjour sharpegreg,
Dans l'aide d'excel, il y a ce paragraphe sur la méthode Find d'un objet range :
Notes
Les paramètres des arguments LookIn, LookAt, SearchOrder et MatchByte sont enregistrés chaque fois que vous utilisez cette méthode.
Si vous ne spécifiez aucun paramètre pour ces arguments lors du prochain appel de la méthode, les paramètres enregistrés sont
utilisés. Le fait de définir les paramètres de ces arguments modifie les paramètres de la boîte de dialogue Rechercher, ce qui a
pour effet de changer les paramètres enregistrés qui sont utilisés lorsque vous ne spécifiez pas les arguments. Pour éviter toute
ambiguïté, définissez ces arguments de façon explicite chaque fois que vous utilisez cette méthode.
Dans ton cas, selon le contenu de ta feuille de calcul, ce serait plus prudent d'utiliser ceci pour ces paramètres :
LookIn:=xlValues et LookAt:=xlPart
Salutations!
"sharpegreg" <sharpegreg@discussions.microsoft.com> a écrit dans le message de news:
70E3D7B0-46C0-4D04-89B2-E2DB71B8FA1F@microsoft.com...
Hello,
j'utilise le code suivant pour rechercher "monnom" dans une feuille
If Cells.Find(What:="monnom", After:¬tiveCell, LookIn:=xlFormulas _
, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse).Select = true then
msgbox("trouve : " & cells)
end if
seulement si il n'existe pas, la macro plante et s'arrete. Que faut il
changer pour que la macro ignore le cas lorsque la valeur n'est pas presente.
Par ailleurs il faudrait que la macro s'execute pour dans toutes les
feuilles du classeur ? quel est le code ? for x next ???
Dans l'aide d'excel, il y a ce paragraphe sur la méthode Find d'un objet range :
Notes Les paramètres des arguments LookIn, LookAt, SearchOrder et MatchByte sont enregistrés chaque fois que vous utilisez cette méthode. Si vous ne spécifiez aucun paramètre pour ces arguments lors du prochain appel de la méthode, les paramètres enregistrés sont utilisés. Le fait de définir les paramètres de ces arguments modifie les paramètres de la boîte de dialogue Rechercher, ce qui a pour effet de changer les paramètres enregistrés qui sont utilisés lorsque vous ne spécifiez pas les arguments. Pour éviter toute ambiguïté, définissez ces arguments de façon explicite chaque fois que vous utilisez cette méthode.
Dans ton cas, selon le contenu de ta feuille de calcul, ce serait plus prudent d'utiliser ceci pour ces paramètres : LookIn:=xlValues et LookAt:=xlPart
Salutations!
"sharpegreg" a écrit dans le message de news:
Hello,
j'utilise le code suivant pour rechercher "monnom" dans une feuille
If Cells.Find(What:="monnom", After:¬tiveCell, LookIn:=xlFormulas _ , LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse).Select = true then
msgbox("trouve : " & cells)
end if
seulement si il n'existe pas, la macro plante et s'arrete. Que faut il changer pour que la macro ignore le cas lorsque la valeur n'est pas presente.
Par ailleurs il faudrait que la macro s'execute pour dans toutes les feuilles du classeur ? quel est le code ? for x next ???