Vba et création de macro
Fermé
naya85
Messages postés
27
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
25 juin 2008
-
17 juin 2008 à 16:10
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 20 juin 2008 à 10:30
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 20 juin 2008 à 10:30
Bonjour,
j'ai crée un tableau dont j'ai coloré les colonnes avec une macro , le problème est que les colonnes sont colorés au delà du tableau .... comment pourrais arrêter la coloration à la fin du tableau
Merci!
@+
j'ai crée un tableau dont j'ai coloré les colonnes avec une macro , le problème est que les colonnes sont colorés au delà du tableau .... comment pourrais arrêter la coloration à la fin du tableau
Merci!
@+
A voir également:
- Vba et création de macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Creation compte gmail - Guide
- Creation de compte google - Guide
- Creation de site web - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
7 réponses
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
17 juin 2008 à 16:12
17 juin 2008 à 16:12
Bonjour,
Si tu nous mets le code de ta macro, on peut essayer de t'aider ...
;o)
Si tu nous mets le code de ta macro, on peut essayer de t'aider ...
;o)
naya85
Messages postés
27
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
25 juin 2008
17 juin 2008 à 16:34
17 juin 2008 à 16:34
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
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
17 juin 2008 à 16:41
17 juin 2008 à 16:41
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 ?
naya85
Messages postés
27
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
25 juin 2008
17 juin 2008 à 17:00
17 juin 2008 à 17:00
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
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
18 juin 2008 à 08:22
18 juin 2008 à 08:22
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 ?
naya85
Messages postés
27
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
25 juin 2008
20 juin 2008 à 10:22
20 juin 2008 à 10:22
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
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
20 juin 2008 à 10:30
20 juin 2008 à 10:30
Bonjour,
En fait tu veux quand tu double-cliques sur une cellule d'un fichier, que les infos de celle-ci se mettent automatiquement dans la cellule correspondante d'un autre fichier ? c'est bien ça ?
En fait tu veux quand tu double-cliques sur une cellule d'un fichier, que les infos de celle-ci se mettent automatiquement dans la cellule correspondante d'un autre fichier ? c'est bien ça ?
17 juin 2008 à 16:37
Merci pour ton aide
@+