Fonction IF-THEN VBA / recherche mot dans une colonne

Bonjour à tous,

Je souhaiterais obtenir le code vba pour l'instruction suivante :

Si la colonne G de mon tableau contient les mot A,B, ou C alors inscrire dans la colonne A "Non", sinon (=si ces mots ni sont pas) alors inscrire dans la colonne A "Oui".

J'ai épluché plusieurs forum en vain, je suis débutante en vba, merci par avance pour votre aide !

Victoire

Bonjour,

Un exemple

25victoire0.xlsm (20.01 Ko)

Bonjour M12,

Merci beaucoup pour ton rapide retour ! Dans l'idée c'est ce que je recherche à faire

J'ai adapté ton code à mon fichier, les valeurs A,B, C étaient à titre d'exemple pour simplifier. J'ai en réalité 5 conditions à vérifier (donc en prenant l'exemple d'avant : si la colonne G contient A,B,C,D ou E). Lorsque que j’exécute le code suivant, j'ai l'erreur d’exécution '6' : Dépassement de capacité....

Dans ma colonne G, j'ai du texte (ex: ZH06 LAGARDERE TRAVEL RETAIL), et je voudrais par exemple savoir si la colonne G contient le mot "RETAIL"

Voici ton code que j'ai adapté et qui ne fonctionne pas :

Option Explicit

Sub Test()
  '*  DECLARATIONS DES VARIABLES  *
  Dim i%, Dl%
  Dim Ws As Worksheet
  '* INITIALISATION DES VARIABLES *
  Set Ws = Sheets("Feuil1")
  Dl = Ws.Range("G" & Rows.Count).End(xlUp).Row 'Derniere ligne remplie
  For i = 2 To Dl 'boucler de la ligne 2 à la dernieere de la colonne G
  ' si la cellule contient (like) MAGASIN, MAG, MAG., MA ou ECHANTILLONS
    If Ws.Cells(i, "G") Like "*MAGASIN*" Or Ws.Cells(i, "G") Like "*MAG*" Or Ws.Cells(i, "G") Like "*MAG.*" Or Ws.Cells(i, "G") Like "*MA*" Or Ws.Cells(i, "G") Like "*ECHANTILLONS*" Then
      Ws.Cells(i, "A") = "Non" 'Je met non en A
    Else
      Ws.Cells(i, "A") = "Oui" ' Sinon je met oui
    End If
  Next i
End Sub

Re,

tu fais une demande sur des indications écrites

je te donne une solution

tu me donnes une macro toujours suivant des indications écrites

Peut-être qu'un jour tu donneras un classeur EXCEL ( à savoir que sur un forum Excel, ce n'est pas à la personne bénévole de monter un classeur, mais plutôt au demandeur de le fournir)

Et il y aura des résolutions positives

Re bonjour M12,

Je suis désolée que mon format de réponse t'ai déplu, j'ai pensé bien faire en partageant le code comme je l'ai beaucoup vu sur les forums excel. De plus mon fichier de travail est assez important et je ne peux partager au public son contenu

J'ai trouvé l'erreur, ce sont les variables qui sont déterminées en tant que "Integer" dans le précédant code, or mon fichier de travail comporte plus de 100000 lignes... j'ai donc remplcé par "Long"... le temps de traitement est assez long, mais je n'ai pas trouvé d'autres solutions pour l'instant :/

Merci encore !

Re,

si vous travaillez sur un fichier aussi important, avec de simple formule, il serait bien mieux de passez par ACCESS ou par une base de données

La rapidité sera au rendez vous

Bonjour M12,

Je prends bien note de tes conseils pour Access, j'ai ensuite besoin de faire des tableaux croisés dynamiques c'est pour cela que j'utilise excel.

Très bonne journée,

Victoire

Rechercher des sujets similaires à "fonction then vba recherche mot colonne"