modification d'une macro pour recherche sur une feuille et non sur le classeur

stepy73

XLDnaute Nouveau
bonjour,
j'aimerai savoir ou je peux modifier le code ci-dessous pour ne pas effectuer cette macro sur l'ensemble des feuille pressentes dans le classeur mais uniquement sur la feuille nommée Janvier.

merci d'avance pour votre aide.

Stéphane

Sub TrouverMotChoix()
Dim Mot As String
Dim Ws As Object
Dim Nbre As Long
Dim Cycle As Long
Dim Trouvé As Variant
Dim CellAddress As Variant
Dim MyValue As String

'Définition de la variable à rechercher
Mot = InputBox("Saisir le texte recherché sur le report d'alarme COS de Nantes (EX) Incendie Stéphane COMTE.", Title:=" Recherche ST DUPONT FAVERGES ")
'Vérification si existante
If Mot = "" Then Exit Sub
For Each Ws In Worksheets
Nbre = Nbre + Application.CountIf(Ws.UsedRange, "*" & Mot & "*")
Next Ws
'Message en cas de mot inexistant
If Nbre = 0 Then
MyValue = MsgBox(" le texte " & Mot & " n'est pas enregistré ", vbOKOnly, " Message ")
Else
Cycle = 0
'Recherche et arrêt sur les cellules contenant le Mot
For Each Ws In Worksheets
With Ws
.Activate
Set Trouvé = .Cells.Find(what:=Mot, After:=ActiveCell, LookIn:=xlValues, LookAt:=xlPart)
If Not Trouvé Is Nothing Then
CellAddress = Trouvé.Address
Do
Cycle = Cycle + 1
Trouvé.Activate
If Nbre = 1 Then
MyValue = MsgBox(" La valeur " & Mot & " est enregistrée 1 seule fois ", vbOKOnly, " Message ")
Exit Sub
End If
If Cycle = Nbre Then
MyValue = MsgBox(" La valeur " & Mot & " sélectionnée est la dernière !", vbOKOnly, "Message")
Exit Sub
Else
MyValue = MsgBox(" La valeur " & Mot & " sélectionnée est la " & Cycle & " sur " & Nbre & " existantes. " & vbLf & _
" Voulez vous continuer la recherche ? ", vbYesNo, "Message")
If MyValue = vbNo Then Exit For
Set Trouvé = .Cells.FindNext(After:=Trouvé)
End If
Loop While Not Trouvé Is Nothing And Trouvé.Address <> CellAddress
End If
End With
Next Ws
End If
End Sub
 

TempusFugit

XLDnaute Impliqué
Re : modification d'une macro pour recherche sur une feuille et non sur le classeur

Voici une possibilité (qui boucle toujours sur toutes les feuilles, ce qu'on pourrait éviter plus tard, comme suggéré dans mon premier message)

Code:
Sub TrouverMotChoix()
Dim Mot As String
Dim Ws As Object
Dim Nbre As Long
Dim Cycle As Long
Dim Trouvé As Variant
Dim CellAddress As Variant
Dim MyValue As String

'Définition de la variable à rechercher
Mot = InputBox("Saisir le texte recherché sur le report d'alarme COS de Nantes (EX) Incendie Stéphane COMTE.", Title:=" Recherche ST DUPONT FAVERGES ")
'Vérification si existante
If Mot = "" Then Exit Sub
For Each Ws In Worksheets
Nbre = Nbre + Application.CountIf(Ws.UsedRange, "*" & Mot & "*")
Next Ws
'Message en cas de mot inexistant
If Nbre = 0 Then
MyValue = MsgBox(" le texte " & Mot & " n'est pas enregistré ", vbOKOnly, " Message ")
Else
Cycle = 0
'Recherche et arrêt sur les cellules contenant le Mot
For Each Ws In Worksheets
If Ws.Name = "janvier" Then
With Ws
.Activate
Set Trouvé = .Cells.Find(what:=Mot, After:=ActiveCell, LookIn:=xlValues, LookAt:=xlPart)
If Not Trouvé Is Nothing Then
CellAddress = Trouvé.Address
Do
Cycle = Cycle + 1
Trouvé.Activate
If Nbre = 1 Then
MyValue = MsgBox(" La valeur " & Mot & " est enregistrée 1 seule fois ", vbOKOnly, " Message ")
Exit Sub
End If
If Cycle = Nbre Then
MyValue = MsgBox(" La valeur " & Mot & " sélectionnée est la dernière !", vbOKOnly, "Message")
Exit Sub
Else
MyValue = MsgBox(" La valeur " & Mot & " sélectionnée est la " & Cycle & " sur " & Nbre & " existantes. " & vbLf & _
" Voulez vous continuer la recherche ? ", vbYesNo, "Message")
If MyValue = vbNo Then Exit For
Set Trouvé = .Cells.FindNext(After:=Trouvé)
End If
Loop While Not Trouvé Is Nothing And Trouvé.Address <> CellAddress
End If
End With
End If
Next Ws
End If
End Sub
 

stepy73

XLDnaute Nouveau
Re : modification d'une macro pour recherche sur une feuille et non sur le classeur

Re Bonjour

déjà merci pour ton aide, j'ai bien modifié selon tes conseils mais je me retrouve avec des erreurs sur cette macro.

ci-joint le fichier
d'avance merci de prendre de ton temps pour regarder.

Stéphane
 

Pièces jointes

  • Copie de pour aide .xls
    131.5 KB · Affichages: 55
  • Copie de pour aide .xls
    131.5 KB · Affichages: 58
  • Copie de pour aide .xls
    131.5 KB · Affichages: 58

stepy73

XLDnaute Nouveau
Re : modification d'une macro pour recherche sur une feuille et non sur le classeur

Bonjour,

ton code marche super, j'ai tenté de nouveau ma chance ce matin est fonctionne parfaitement.

désolé du message précédant.

UN GRAND GRAND merci pour avoir pris du temps pour régler mon problème vraiment super sympa.

Amicalement.
Stéphane
 

Discussions similaires

Réponses
6
Affichages
203
Réponses
1
Affichages
168
Réponses
2
Affichages
240

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote