Test apparition variable dans une chaîne de caractères

Résolu
N -  
ThauTheme Messages postés 1564 Statut Membre -
Bonjour,
j'aurais une question toute simple que je ne parviens néanmoins pas à résoudre. Tout d'abord, dans la feuille Feuil1, je stocke une chaîne de caractère (un mot) dans ma variable MC1 (premier mot-clé). Ensuite je voudrais savoir si ce mot-clé apparait dans le titre d'un document. Mes titres de documents sont listés dans les cellules de ma feuille nommée Liste.
J'avais pensé faire comme ceci mais ça ne fonctionne pas (Erreur de compilation : Erreur de synthaxe).

For j = 1 To i 'j va parcourir la liste de tout les fichiers référencés précédemment
'MOTS-CLES
If Range("A" & k).Value Like * & MC1 & * Then
k = 18 + j
Range("A" & k, "B" & k).Merge 'Fusionne les cellules Ak et Bk du Nom
Range("C" & k, "D" & k).Merge 'Fusionne les cellules Ck et Dk du Type
Sheets("Liste").Range("A" & j & ":E" & j).Copy Sheets("Feuil1").Range("A" & k & ":G" & k) 'Remplit la k-ième ligne du tableau de résultat


Merci d'avance pour les réponses que vous pourrez m'apporter

A voir également:

7 réponses

ThauTheme Messages postés 1564 Statut Membre 160
 
Bonjour N, bonjour le forum,

Peut-être avec la fonction InStr qui donnerait :

If InStr(1, Range("A" & k).Value, "MC1", vbTextCompare) <> 0 Then

0
N
 
Merci pour la réponse.
Le programme me retourne "Erreur d'exécution '1004' : La méthose 'Range' de l'objet '_Global' a échoué.". C'est peut-être parce que je travaille avec des cellules fusionnées ?...
0
ThauTheme Messages postés 1564 Statut Membre 160
 
Re,

Oui VBA et les cellules fusionnées ne font pas bon ménage... Essaie comme ça :

If InStr(1, Range("A" & k)(1).Value, "MC1", vbTextCompare) <> 0 Then


Cela signifie que la valeur retenue est dans la première cellule de la plage fusionnée...
0
N
 
Re,
ça re-indique la même erreur... JE vais essayer de défusionner mes cellules pour voir ce que ça donne...
0
ThauTheme Messages postés 1564 Statut Membre 160
 
Re,

C'est difficile de t'aider sans le code complet...
Tu utilises la variable k mais on ne sait ni où elle est déclarée ni où elle est initialisée/définie. Si elle est nulle, il est clair que Range("A0") va forcément planter...
0
N
 
PS : cette version correspond à la version "non-défusionnée" de mo classeur excel...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ThauTheme Messages postés 1564 Statut Membre 160
 
Et... ?!
0
N
 
Et les cases sont encore celles qui sont fusionnées
0
ThauTheme Messages postés 1564 Statut Membre 160
 
Tu ne m'aides pas beaucoup ! Relis le post #5...
0
N
 
k est sup ou égal à 17
0
N
 
C'est bon, j'ai fini par résoudre ce problème. Merci quand même pour les tuyaux, ça aidera d'autres jeunes programmeurs !
0
ThauTheme Messages postés 1564 Statut Membre 160
 
Re,

Ce qui pourrait surtout aider les autres serait que tu nous donnes la solution que tu as trouvée... C'est un forum d'entraide ne l'oublies pas !
0
noemie.der Messages postés 9 Statut Membre
 
If Sheets("Liste").Range("A" & j).Value Like "*" & MC1 & "*" Then

    
0
ThauTheme Messages postés 1564 Statut Membre 160
 
J'avais donc décelé le problème dans le post #5...
0