Déterminer nb de caractères dans cellule

Bonjour et bonne année à tous !

Alors voilà j'explique mon soucis.

J'ai une macro qui me permet d'aller chercher dans une colonne B chaque cellule présentée ainsi :

Pierre DUPONT-France-Client

Alain LIMIER-France-Commercial

Sandrine TABLE-France-RH

J'ai donc le Prénom & Nom puis -France- puis le rôle de la personne (Client, Commercial,RH, etc)

Je split chacune de mes cellules par "-France-" et j'obtiens :

dim Tableur()
for i = 1 to Nb_Lignes_Non_Vides
Tableur = split(cells(i,"B"),"-FRANCE")
next i 

J'obtiens donc Tableur(0) = Pierre DUPONT & Tableur(1) = Client , ces deux données sont insérés dans mes colonnes C et D.

Jusqu'ici j'espère avoir été bien clair car voici mon problème !

Imaginons que le Prénom & NOM renseignés ne sont pas assez précis.

J'ai par Exemple P DUPONT. Je voudrais que ma cellule C1 ou est présent mon P DUPONT soit mise en surbrillance en rouge lorsque le premier mot OU le deuxième mot soit égal à un seul caractère.

Existe-il un moyen de faire ça sans se compliquer la tache ?

Sinon je me disais que je faisais un split de ma cellule C par espace (Tableur2 = split(cells(i,"C"), " ") et qu'une fois ce split fait

je regardais tableur2(0) = cb caract et pareil pour tableur2(1).

Est ce la seule solution ou je peux m'en sortir sans split ?

Merci par avance pour votre aide,

Mojito

Bonjour,

split me paraît une bonne solution.

les autres méthodes reviendraient à se créer une fonction split personnalisée (sans réel avantage pour ce que tu veux faire).

Bonjour,

Tu peux utiliser une Mise en Forme conditionnelle et la formule NBCAR()

Exemple ci -joint :

Bonjour,

une solution avec boucle:

Sub programme()
dim Tableur()
decalage = 1 'remplacer 1 par le décallage voulu
for i = 1 to Nb_Lignes_Non_Vides
   Tableur = split(cells(i,"B"),"-FRANCE-")
    for j = lbound(tableur,2) to ubound(tableau,2) 'me dire si cette ligne plante ou non, si oui, remplacer les 2 par 1
    Cells(i,decalage + j) = tableur(j) 
    If Len(tableur(j)) = 1 then
        Cells(i,decalage + j).Interior.Color = RGB(255, 150, 150) 'pour un rouge un peu clair
    End If
    next j
next i 
End Sub
Rechercher des sujets similaires à "determiner caracteres"