J’y suis sur ce fichier depuis maintenant 4 jours, et je bloque toujours,
j’appelle donc « au secoure » pour avancer.
Dans une onglet comportant une liste de 3 colonnes,
je dois mettre en surbrillance (couleur 4), les cellules A à C d’une ligne
en fonction de la présence (ou non) de 2 caractères en cellule A.
Explications :
0- via un bouton de recherche,
1- Rechercher dans les matricules (A:A),
ceux qui contiennent :
en 1er caractère, la lettre indiquée en F2
en 1er chiffre après le tirer, le nombre indiqué en F3
2- Mettre en surbrillance les cellules de(s) ligne(s) concernées
ColorIndex = 4
3- Message Box m’indiquant le nombre de ligne (agents) concernées.
Le point 2 ne se produit pas, rien n’est surligné,
et de façon cohérente, le point 3 m’indique 0.
Donc mon code expliquant ce qui doit être trouvé, n’est pas bon :
Niveau = Cells(2, 6).Value
Secteur = Cells(3, 6).Value
ID = Niveau & « # » & « #- » & Secteur & « ### »
Je vous joins le fichier et le module codé accompagné des mes réflexions de recherches.
Re,
Ne sachant pas la version d’Excel utilisée, je l’ai placé sans aucun disfonctionnement pour les différentes fonctions. Sur une version 2007, cela créé un « BUG » si il n’est pas utilisé.
c’est peut-être plus facile d’utiliser la fonction « like »
à savoir : il fait la distinction entre majuscule et miniscules et un chiffre est #, un charactère est ? et * est une chaine
For i = 1 To nr
b = UCase(Range("A" & i + 1)) Like UCase(Niveau & "#*-" & Secteur & "*") 'commence avec niveau & chiffre & eventuellement ... & "-" & Secteur & ...
If b Then x = x + 1
Range("A" & i + 1 & ":C" & i + 1).Interior.ColorIndex = IIf(b, 4, xlNone)
'MsgBox "Ligne Suivante"
Next i