Probleme sur une macro de recherche

  • Initiateur de la discussion Initiateur de la discussion stepy73
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

stepy73

XLDnaute Nouveau
Bonjour le forum,
J’ai un problème avec cette macro, je l’utilise pour me donner chiffre d’indicateur (le nom de fois qu’une phrase et cité, elle fonctionne super bien, sauf que quand je l’utilise sur la feuille par exemple février elle me donne aussi les chiffres de ma feuille de janvier et en conséquence fausse mes indicateurs.
Merci de prendre un peu de votre temps pour me renseigner.
Dans l’attente de vous lire.

Stéphane

Sub moisfevrier()
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 (EX) Incendie .............", Title:=" Recherche ..... ")
'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 = "Fevrier 1" 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
 
Dernière édition:
Re : Probleme sur une macro de recherche

Bonjour
Conseil: gardez pour l'instant cette macro, mais écrivez en une autre qui au lieu de boucler sur toutes les feuilles ne travaille que sur la feuille active.
Utilisez F1 sur les éléments de language que vous ne comprenez pas.
À +
 
Re : Probleme sur une macro de recherche

Merci de ce commentaire, le problème je ne sais pas écrire ce type de macro. pour toi il y a aucune chance de modifier cette macro pour arriver au but recherché si non elle marche super bien et répond parfaitement a mes attente ?
 
Re : Probleme sur une macro de recherche

Si mais copiez là d'abord et modifiez la copie pour pouvoir retrouver ce qui ne marche pas là ou ça marchait dans l'original
À priori il suffit de remplacer les séquences style :
For Each Ws In Worksheets
toute instruction ou groupe d'instructions se référent à WS
Next Ws
par: uniquement l'instruction ou le groupe d'instructions se référant à ActiveSheet
En cherchant à comprendre ce que ça fait. À vous de le faire sur votre classeur non joint.
Cordialement.
 
Re : Probleme sur une macro de recherche

Comment s'appele votre macro ?
En essayant de compiler le projet ça râle parce qu-il y a du code exécutable qui n'est pas placer entre une instruction Sub, Function ou Property Get/Let et son End correspondant.
À +
 
Re : Probleme sur une macro de recherche

Comment s’appelle votre macro ? il y en a 12 au total = moisjanvier, moisfevrier, ECT........................; jusqu'a décembre je pensai qu’avec ces macros je pouvais vérifier page par page mais j'ai du mal en macro il y a sens doute de meilleurs solutions. merci en tout cas de perdre de ton temps pour regarder mon problème.

@ plus et bonne soirée
 
Re : Probleme sur une macro de recherche

Si, je vous ai dit de le faire, c'est que vous pouvez.
vous savez, au jeu de la plus mauvaise volonté à ne pas vouloir se mettre au VBA, vous êtes sûr de gagner !
On n'est pas des larbins non payés à bosser !
 
Dernière édition:
Re : Probleme sur une macro de recherche

c'est pas de la mauvaise volonté, j'ai enlevé la boucle et j'ai plein d'erreur ( ton explication n'ai pas clair pour moi avec mon niveau) je sais pas ou tu que je t'es forcé a m'aider c'est quoi ce commentaire, je vais sur ce site pour avoir de l'aide si j'en est pas temps pi mais garde ce genre de commentaire pour toi (regarde le nombre d'année que je suis sur ce site, je pause que très rarement des questions justement pour apprendre et pas me simplifier avec un ci-joint revenu tout fait) . NUL franchement NUL ce commentaire
bonne continuation.
 
Re : Probleme sur une macro de recherche

Alors soumettez moi ce que vous avez tenté et je corrigerai.
Remarque: il devrait être aisé de n'écrire qu'une seule procédure qui fait le boulot pour n'importe quelle feuille.
Pour la feuille active par exemple.
À +
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
533
Réponses
5
Affichages
478
Réponses
4
Affichages
581
Réponses
4
Affichages
407
Réponses
7
Affichages
334
  • Question Question
Microsoft 365 Problème de date
Réponses
5
Affichages
267
Retour