A voir également:
- Vba et création de macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Creation de compte google - Guide
- Creation de site web - Guide
- Creation compte gmail - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
7 réponses
je te remercie pour avoir aidée pour un premier temps
Voici le corps demon code
Sub Color_tab()
Dim i As Integer, j As Integer
Dim CurrentSheet As Worksheet
Dim ColumnName As String
For Each CurrentSheet In ActiveWorkbook.Worksheets
If (CurrentSheet.Cells(1, 1).Value = "") Then
For j = 1 To 105 'il faut mettre en param la dernière cellule du tableau
For i = 1 To 8
ColumnName = CurrentSheet.Cells(1, i).Value
If (ColumnName <> "") Then
If (Left(ColumnName, 30) = "10 - No Run") Then
CurrentSheet.Cells(j, i).Interior.ColorIndex = 34
ElseIf (Left(ColumnName, 30) = "20 - Not Completed") Then
CurrentSheet.Cells(j, i).Interior.ColorIndex = 35
ElseIf ((Left(ColumnName, 30) = "30 - Failed")) Then
CurrentSheet.Cells(j, i).Interior.ColorIndex = 36
ElseIf (Left(ColumnName, 30) = "40 - Passed with reserve") Then
CurrentSheet.Cells(j, i).Interior.ColorIndex = 38
ElseIf (Left(ColumnName, 30) = "80 - Passed") Then
CurrentSheet.Cells(j, i).Interior.ColorIndex = 39
ElseIf (Left(ColumnName, 10) = "90 - N/A") Then
CurrentSheet.Cells(j, i).Interior.ColorIndex = 40
Else
CurrentSheet.Cells(j, i).Interior.ColorIndex = 37
End If
Else
CurrentSheet.Columns(i).Interior.ColorIndex = xlNone
End If
Next i
Next j
End If
Next CurrentSheet
End Sub
Voici le corps demon code
Sub Color_tab()
Dim i As Integer, j As Integer
Dim CurrentSheet As Worksheet
Dim ColumnName As String
For Each CurrentSheet In ActiveWorkbook.Worksheets
If (CurrentSheet.Cells(1, 1).Value = "") Then
For j = 1 To 105 'il faut mettre en param la dernière cellule du tableau
For i = 1 To 8
ColumnName = CurrentSheet.Cells(1, i).Value
If (ColumnName <> "") Then
If (Left(ColumnName, 30) = "10 - No Run") Then
CurrentSheet.Cells(j, i).Interior.ColorIndex = 34
ElseIf (Left(ColumnName, 30) = "20 - Not Completed") Then
CurrentSheet.Cells(j, i).Interior.ColorIndex = 35
ElseIf ((Left(ColumnName, 30) = "30 - Failed")) Then
CurrentSheet.Cells(j, i).Interior.ColorIndex = 36
ElseIf (Left(ColumnName, 30) = "40 - Passed with reserve") Then
CurrentSheet.Cells(j, i).Interior.ColorIndex = 38
ElseIf (Left(ColumnName, 30) = "80 - Passed") Then
CurrentSheet.Cells(j, i).Interior.ColorIndex = 39
ElseIf (Left(ColumnName, 10) = "90 - N/A") Then
CurrentSheet.Cells(j, i).Interior.ColorIndex = 40
Else
CurrentSheet.Cells(j, i).Interior.ColorIndex = 37
End If
Else
CurrentSheet.Columns(i).Interior.ColorIndex = xlNone
End If
Next i
Next j
End If
Next CurrentSheet
End Sub
Es-tu sûr que la dernière ligne de ton tableau soit la 105 ?
Pourquoi ne pas nommer la plage de ton tableau et parcourir uniquement les cellules de la plages ?
Pourquoi ne pas nommer la plage de ton tableau et parcourir uniquement les cellules de la plages ?
voilà exactement cest là où je veux en venir.......comme je tai dit il sagit dun tableau dynamique à la base dont le nombre de ligne varie entre 1 et 105
en fait jai crée une mlacro pour copier et coller le tableau résultant dans une autre feuille
moi je veux que le nombre de lignes coloriés varie en fonction de ce que jaurai choisi dans mon tableau dynamique
Merci bcp Polux31
bonne fin de journée
en fait jai crée une mlacro pour copier et coller le tableau résultant dans une autre feuille
moi je veux que le nombre de lignes coloriés varie en fonction de ce que jaurai choisi dans mon tableau dynamique
Merci bcp Polux31
bonne fin de journée
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
As-tu des lignes vides dans ce tableau ? Ou y a t-il une colonne sans ligne vide dans le tableau ?
As-tu des lignes vides dans ce tableau ? Ou y a t-il une colonne sans ligne vide dans le tableau ?
Bonjour
je te remercie pour m'avoir répondue , j'ai trouvé la solution
parcontre , j'ai un autre problème.....en fait j'ai deux feuilles excel (dans deux fichiers différents)
sur l'une j'ai fait une liste de lots (L1;L2;L3 ) dans la feuille1 et dans l'autre j'ai créé un tableau dynamique dans une feuille2, l'un de ses champs est lot(cad ma liste L1;L2;L3)
ma question est que je voudrais à partir de ma première liste que j'ai créé dans la feuille 1, par exemple si je choisis L1 dans la feuille, que ça se génère automatiquement dans mon tableau dynamique et que ça soit les infos relatifs à L1
je ne sais pas si jai été assez claire
merci!
@++
naya
je te remercie pour m'avoir répondue , j'ai trouvé la solution
parcontre , j'ai un autre problème.....en fait j'ai deux feuilles excel (dans deux fichiers différents)
sur l'une j'ai fait une liste de lots (L1;L2;L3 ) dans la feuille1 et dans l'autre j'ai créé un tableau dynamique dans une feuille2, l'un de ses champs est lot(cad ma liste L1;L2;L3)
ma question est que je voudrais à partir de ma première liste que j'ai créé dans la feuille 1, par exemple si je choisis L1 dans la feuille, que ça se génère automatiquement dans mon tableau dynamique et que ça soit les infos relatifs à L1
je ne sais pas si jai été assez claire
merci!
@++
naya
Merci pour ton aide
@+