Mise en forme ligne (formes)

Bonjour à tous,

Je souhaiterai créer une macro qui s’exécuterait au démarrage.

Objectif : Si valeur W140 présente en cellule A5, la ligne devient verte. Sinon elle reste grise.

A noter que la ligne est bien une forme et non une bordure

J'essaie depuis ce matin mais je suis novice, et je patauge un peu. De l'aide, voire même la solution , serait la bienvenue.

Merci par avance.

Bonne journée.

Si W140 = A5 ?

Si c'est ça que tu demandes voilà

20jourdelan.xlsm (18.14 Ko)

Salutation,

Négatif, je t'ai mis le fichier excel en PJ.

Merci.

17classeur2.xlsm (19.21 Ko)

D'accord ^^ j'avais pas comprit l'énoncé :p

24jourdelan.xlsm (27.86 Ko)

Super. Plus qu'à le mettre en forme sur le fichier final - Environ 190 macros à créer ^^

Merci à toi.

pas forcement, essaye de nommer ta droite par le chiffre du W comme ça tu peux le faire dans une boucle

oui, c'est ce que je comptais faire. J'ai environ 200 droites à renommer. Tu me dis ensuite d'utiliser une boucle ?

Tu peux faire ça comment ?

Tu peux faire ça comme ça

11jourdelan.xlsm (23.26 Ko)

Tu es GE-NIAL !!

Ceci dit ça risque d'être très difficile pour moi à appliquer sur mon fichier.

Le mieux, je vais reboucler mon fichier et te le montrer car j'ai quelques spécificités.

Certaines sections notamment s'appelleront 135, d'autres 483a.

Merci beaucoup, tu me retires une vraie épine dans le pied...

Voilà c'est pas compliqué

22jourdelan.xlsm (26.17 Ko)

Hey salut psykopat,

J'ai deux petits problèmes avec la macro :

1/ si tu retires dans le dernier fichier W 140, toute les lignes passent en noir, alors qu'il faut normalement que l'objet 140 passe en noir.

2/ j'ai adapté la formule sur un autre fichier, mais lorsque j'applique la macro, les lignes concernées changent effectivement de couleurs, mais passent en noir ..

Tu as des idées ?

Merci beaucoup

Hey Salut !

Oui je sais d'où vient le problème sans regarder le code

En fait je regarde à partir de la ligne 6 et tant que c'est pas vide, or la ligne 6 est vide donc il croit que la liste est vide.

alors ça n'est pas un problème car la liste n'aura pas de "ligne" blanche.

Par ailleurs, sais-tu pourquoi ça colorise la ligne en noir, alors qu'on indique la couleur verte ?

Par ailleurs, pourrions-nous grossir également l'épaisseur de la ligne si le code est bien présent dans la liste ?

Merci

Quand tu dis grossir la ligne tu veux dire quoi ?

1°) toute la ligne ou la cellule W140 ?

2°) grossir les caractères ?

3°) Mettre en gras les caractères ?

4°) augmenter la hauteur de la ligne ?

Réponse quatre Jean-Pierre et c'est mon dernier mot

Hey salut Psykopat,

Tu as une idée pour grossir l'épaisseur de la ligne ?

Je n'arrive toujours pas à trouver pourquoi la ligne passe en noir alors qu'on lui demande de passer en vert ou en rouge ... J'ai essayé de créer un nouvel objet, sans succés :s

Oui on peut une petite ligne à rajouter ;D

.Weight = 5
10jourdelan.xlsm (27.20 Ko)

Bon, on avance bien. J'ai trouvé le problème, je pense :

Private Sub Bouton173354_Cliquer()
    Dim num ' numéro du connecteurs courant
    Dim verif ' si le numéro existe
    Dim tableau As Variant
    Dim i ' compteur
    ' ces deux boucles recherchent s'il y a des connecteurs droits
    For Each f In Worksheets
        On Error Resume Next
        For Each sh In Sheets(f.Name).Shapes
            If Left(sh.Name, 5) = "trait" Then
                tableau = Split(sh.Name, " ")
                num = tableau(1)
                i = 5
                verif = False
                While Cells(i, 1) <> ""
                    If Right(Cells(i, 1), 3) = num Or Right(Cells(i, 1), 4) = num Then
                        ActiveSheet.Shapes.Range(Array(sh.Name)).Select
                        With Selection.ShapeRange.Line
                           .Font.Color = RGB(0, 0, 0)
                           .Weight = 3
                           End With
                        verif = True
                    End If
                    i = i + 1
                Wend

                If Not verif Then
                    ActiveSheet.Shapes.Range(Array(sh.Name)).Select
                    With Selection.ShapeRange.Line
                        .ForeColor.RGB = RGB(255, 0, 0)
                        .Weight = 5
                    End With
                End If
            End If
        Next
    Next

End Sub

J'ai l'impression que la formule et "à l'envers" : C'est si ça n'est pas vérifié qu'il le colore en rouge ... Quoiqu'il en soit, le résultat est le même.

En revanche, si je retire la section dans la liste, il ne le colorise pas en noir à nouveau ...

Tu en penses quoi ?

J'en pense que oui c'est à l'envers car tu dis que si c'est le même numéro tu colories en noir et met la taille à 3

et que s'il n'a pas trouvé tu mets en rouge et taille à 5.

Psykopat a écrit :

J'en pense que oui c'est à l'envers car tu dis que si c'est le même numéro tu colories en noir et met la taille à 3

et que s'il n'a pas trouvé tu mets en rouge et taille à 5.

C'est bizarre en fait parce qu'il est pourtant présent dans la liste. J'ai une idée. Je regarde et reviens vers toi si je ne trouve pas. JE crois savoir pourquoi

Rechercher des sujets similaires à "mise forme ligne formes"