Bonjour à tous,
j'ai développé il y a quelque temps un bouton permettant d'actualiser sur une feuille excel mon tableau. Je peux également via un autre bouton "importer" un tableau externe. Après l'importation de celui ci, le bouton "actualiser" gère sa mise en forme. Si une cellule est vide alors la valeur "information manquante" apparaît et le fond devient beige etc... Parallèlement, le bouton me permet de lancer des formules par défaut dans mon tableau.
Voici le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 Private Sub CommandButton5_Click() Feuil1.unprotect Feuil3.Range("MDP") Feuil1.Activate ActiveWorkbook.RefreshAll ActiveSheet.Range("L:P").Calculate ActiveSheet.Range("V:V").Calculate Dim Cel As Range Application.Goto Reference:="BASEDEDONNEES" For Each Cel In Selection If IsEmpty(Cel) Then Cel.Interior.ColorIndex = 19 Cel.value = "Information manquante" Else Cel.Interior.ColorIndex = -4142 End If If Cel.value = "Information manquante" Then Cel.Interior.ColorIndex = 19 Else Cel.Interior.ColorIndex = -4142 End If Next Cel With Selection .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .WrapText = True .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With Feuil1.Protect Feuil3.Range("MDP") End Sub
Je souhaiterai ajouter une amélioration. Dans mon tableau,pour chaque ligne, en colonne "P", il apparaît le nom de l'entreprise qui a gagné le marché. Chaque ligne représente un marché.
En colonne "T", il y a le nom de mon entreprise. Ainsi, si le nom d'entreprise en colonne "P" est égal au nom en colonne "T" alors cela signifie que j'ai gagné le marché.
En conséquence, j'aimerai qu'en cliquant sur mon bouton actualisé, la police de ma ligne se transforme en vert. (Colonne "p": entreprise AA ; Colonne "T": entreprise AA)
Dans le cas ou les deux colonnes sont différentes, cela voudrait donc dire que j'aurai perdu l'affaire. Je souhaiterai alors que la ligne se colorie en rouge.
Pour finir, si en colonne "p", la valeur de la cellule est égale à "Information manquante" alors laisser la couleur de la police de la ligne en noir.
J'ai imaginé le code suivant mais je n'arrive pas à incorporer le code dans celui déja existant ( en ajoutant auparavant "Dim ligne as long"):
Merci infiniment de votre aide par avance...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 For ligne = 16 To 14000 If Cells(ligne, 16).value = Cells(ligne, 20) Then Cells(ligne, 1).Resize(, 23).Interior.ColorIndex = -11489280 Else Cells(ligne, 1).Resize(, 23).Interior.ColorIndex = -16776961 End If If Cells(ligne, 16).value = "Information manquante" Then Cells(ligne, 1).Resize(, 23).Interior.ColorIndex = 0 End If Next
Amicalement votre,
Partager