Chercher dans une ligne une valeur Texte, si ok colorer forme vectorielle

Bonjour !

Je suis débutant en VBA et j'aimerais réaliser une application simple qui je ne pense n'est pas compliqué mais je n'ai pas malheuresement pas le niveau !

J'aimerais que ma commande recherche dans une ligne donné des valeurs, et si celle ci est présente, qu'elle colore une carte vectorielle présente dans un autre onglet d'un pays que j'ai dans une liste. J'arrive à faire la deuxième partie de la condition mais pas la première car ça buggue ... par xemple, si le pays mexique est présent, alors le colorer en rouge.

If Sheets("Liste correspondants").Range("GOMEZ").Value = 1 Then Sheets("GOMEZ").Select

ActiveSheet.Shapes.Range(Array("MEXICO")).Select

With Selection.ShapeRange.Fill

.Visible = msoTrue

.ForeColor.ObjectThemeColor = msoThemeColorAccent2

.ForeColor.TintAndShade = 0

.ForeColor.Brightness = 0

.Transparency = 0

.Solid

Qu'est ce qui buggue selon ?

Merci à vous !!

Bonjour,

difficile de dire ce qui ne va pas, tu ne nous donnes pas de message d'erreur, tu ne nous donnes qu'une partie de ton code, pas de fichier ...

je vois un problème potentiel avec ta condition ...

selon moi ton code devrait être le suivant

    If Sheets("Liste correspondants").Range("GOMEZ").Value = 1 Then
        Sheets("GOMEZ").Select
        ActiveSheet.Shapes.Range(Array("MEXICO")).Select
        With Selection.ShapeRange.Fill
            .Visible = msoTrue
            .ForeColor.ObjectThemeColor = msoThemeColorAccent2
            .ForeColor.TintAndShade = 0
            .ForeColor.Brightness = 0
            .Transparency = 0
            .Solid
        End With
    End If

comme tu l'as écrit il n'y a que l'instruction sheets("GOMEZ").select qui dépend de la condition, pas les instructions qui suivent.

Merci beaucoup pour ton retour !

En fait pour "If Sheets("Liste correspondants").Range("GOMEZ").Value = 1, je me suis planté je voulais mettre "MEXICO" à la place de 1

Mon objectif est que si dans la plage de cellule que j'ai appellé GOMEZ il y a une cellule qui contient MEXICO, alors dans ce cas ca colore un pays d'une carte (deuxième partie de ma condition).

Mais cela me surligne la partie évoquée en haut en jaune, je ne dois pas appliquer la bonne méthode pour obtenir ce que je veux

en tout cas merci beaucoup pour ton aide

Bonjour,

essaie ceci

    If Not Sheets("Liste correspondants").Range("GOMEZ").Find("MEXICO", lookat:=xlWhole, LookIn:=xlValues) Is Nothing Then
        Sheets("GOMEZ").Select
        ActiveSheet.Shapes.Range(Array("MEXICO")).Select
        With Selection.ShapeRange.Fill
            .Visible = msoTrue
            .ForeColor.ObjectThemeColor = msoThemeColorAccent2
            .ForeColor.TintAndShade = 0
            .ForeColor.Brightness = 0
            .Transparency = 0
            .Solid
        End With
    End If

Merci beaucoup !!!! ça marche super j'avais réussi à trouver une alternative mais le code était trop long pas du tout adapté !!

Je retiens la technique ^^

Bonne journée à vous !

Rechercher des sujets similaires à "chercher ligne valeur texte colorer forme vectorielle"