macro qui recherche plusieurs mots dans une cellule!

  • Initiateur de la discussion Initiateur de la discussion lenny561
  • 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 !

L

lenny561

Guest
bonsoir

je voudrai mettre en place une macro qui recherche plusieurs mots dans une cellule afin d'y incrémanté une valeur dans une autres cellule.

par ex: si en cellule a3 se momme ( paul et pierre et jack), incrémenté en cellule a1 le chiffre 1.De plus je voudrai qu'elle s'exécute sur chaque ligne. de la feuille.

merci
 
Re : macro qui recherche plusieurs mots dans une cellule!

Bonsoir,

Un exemple de fonction :

Si en A3 j'ai "paul et pierre et jack" dans une cellule je peux repérer l'existence de Paul et pierre comme suit
=SI(OU(ESTERREUR(CHERCHE("pierre";A3));ESTERREUR(CHERCHE("paul";A3)));"ko";"ok")


Est-ce la question?

gibi
 
Re : macro qui recherche plusieurs mots dans une cellule!

je pense que ce n'est nécessaire; voici un exemple avec une donné:

Sub Macro1()
'
' Macro1 Macro

'
If Worksheets("feuil1").Range("c6").Value = ("pierre") Then
Worksheets("feuil1").Range("a6").Value = ("1")

End If

End Sub

et voici ce que je veut faire, mais comme cela, ça ne fonctionne pas :

Sub Macro1()
'
' Macro1 Macro

'
If Worksheets("feuil1").Range("c6").Value = ("pierre" & "paul")) Then
Worksheets("feuil1").Range("a6").Value = ("1")

End If

End Sub


En version formule cela donnerai:

=SI(ET(ESTNUM(CHERCHE("pierre";C6));(ESTNUM(CHERCHE("paul";C6))));"1";"")
 
Re : macro qui recherche plusieurs mots dans une cellule!

Bonsoir lenny561,

Voici une solution.

Code:
Sub Macro1()
    Worksheets("Feuil1").Range("A6").Value = ""
    
    If Worksheets("Feuil1").Range("C6").Value Like "*pierre*" And _
        Worksheets("Feuil1").Range("C6").Value Like "*paul*" Then
        
        Worksheets("Feuil1").Range("A6").Value = "1"
    End If
End Sub
 
Re : macro qui recherche plusieurs mots dans une cellule!

cbea

Comment puis-je faire pour que cette macro fonctionne pour chaque cellule se positionnent entre "C1" et "C100"?

C'est à dire, a chaque fois que "pierre" et "paul" sont inscrit dans une cellule entre "C1" et "C100", inscrire "1" dans la cellule correspondant a la même ligne de la colonne "A".
 
Dernière modification par un modérateur:
Re : macro qui recherche plusieurs mots dans une cellule!

Essaye un truc comme ça :
Code:
Sub Macro1()
Dim I As Integer
With Worksheets("Feuil1")
For I = 1 To 100
    If .Cells(I, 3).Value Like "*pierre*" And .Cells(I, 3).Value Like "*paul*" Then
        .Cells(I, 1).Value = "1"
    Else
        .Cells(I, 1).Value = ""
    End If
Next I
End With
End Sub
 
Dernière édition:
Re : macro qui recherche plusieurs mots dans une cellule!

re,

Code:
Sub Macro1()
    Dim Lig As Long
    
    For Lig = 1 To 100
        Worksheets("Feuil1").Range("A" & Lig).Value = ""
        
        If Worksheets("Feuil1").Range("C" & Lig).Value Like "*pierre*" And _
            Worksheets("Feuil1").Range("C" & Lig).Value Like "*paul*" Then
            
            Worksheets("Feuil1").Range("A" & Lig).Value = "1"
        End If
    Next Lig
End Sub
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour