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
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!

@+
A voir également:

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
Bonjour,

Si tu nous mets le code de ta macro, on peut essayer de t'aider ...

;o)
0
naya85 Messages postés 27 Date d'inscription jeudi 5 juin 2008 Statut Membre Dernière intervention 25 juin 2008
17 juin 2008 à 16:37
En fait le tableau existe dans un autre fichier , c'est un tableau dynamique dont les dimensions chagent en fct des paramètres chiosis, je veux qu'à chaque foisque je change ce tableau mon nouveau tableau sois colorié et que mon tableau ne soit pas dépassé

Merci pour ton aide

@+
0
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
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
0
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
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 ?

0
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
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
0

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
Bonjour,

As-tu des lignes vides dans ce tableau ? Ou y a t-il une colonne sans ligne vide dans le tableau ?
0
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
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
0
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
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 ?

0