VB Excel Comptabiliser selon des conditions
Résolu/Fermé
A voir également:
- VB Excel Comptabiliser selon des conditions
- Liste déroulante excel - Guide
- Excel cellule couleur si condition texte - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Déplacer une colonne excel - Guide
5 réponses
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
29 déc. 2011 à 13:23
29 déc. 2011 à 13:23
Bonjour,
Sans voir le classeur, difficile de comprendre...
pour joindre une pièce
mettre le classeur sans données confidentielles en pièce jointe sur
https://www.cjoint.com/
et faire un clic droit sur le lien proposé puis "copier l'adresse du lien" et coller dans le message de réponse
Sans voir le classeur, difficile de comprendre...
pour joindre une pièce
mettre le classeur sans données confidentielles en pièce jointe sur
https://www.cjoint.com/
et faire un clic droit sur le lien proposé puis "copier l'adresse du lien" et coller dans le message de réponse
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
29 déc. 2011 à 15:36
29 déc. 2011 à 15:36
OK, merci
j'ai compris ceci
si par ex le département est rouge mettre en K16 le nbre de licences et en L16 le nbre de voix
je reviens d'ici 1 heure mais apparemment, pas trop de problèmes si j'ai vu juste.
j'ai compris ceci
si par ex le département est rouge mettre en K16 le nbre de licences et en L16 le nbre de voix
je reviens d'ici 1 heure mais apparemment, pas trop de problèmes si j'ai vu juste.
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
29 déc. 2011 à 17:07
29 déc. 2011 à 17:07
Macro modifiée
Sub ColorMap() Dim oSheet As Excel.Worksheet ' Feuille Dim lLine As Long ' Numéro de ligne Dim loShape As Shape ' Forme Dim lColor As Long ' Couleur Dim T_totaux ' totaux licenciés et voix par couleur Dim Rang As Byte 'rang de la couleur dans T_totaux ' Feuille contenant la carte Set oSheet = ThisWorkbook.Sheets("AG2012") ' Désactive le remplissage de la carte oSheet.Shapes("CarteFrance").Fill.Visible = msoFalse ' initialise le tableau des totaux ReDim T_totaux(1 To 4, 1 To 2) ' Pour chaque ligne de CD With Sheets("Donnees") For lLine = .UsedRange.Row + 1 To .UsedRange.Row + .UsedRange.Rows.Count ' Couleur de remplissage ' Bleu si New CD ' Rouge si CD Sortant If .Cells(lLine, 9) = 0 And .Cells(lLine, 8) = 1 Then lColor = vbRed rang = 3 Else If .Cells(lLine, 8) >= 0 And .Cells(lLine, 9) = 1 Then lColor = vbBlue rang = 2 Else If .Cells(lLine, 8) = 0 And .Cells(lLine, 9) = 2 Then lColor = vbGreen rang = 1 Else If .Cells(lLine, 8) = 1 And .Cells(lLine, 9) = 2 Then lColor = vbYellow rang = 4 Else lColor = vbWhite End If End If End If End If 'incrémente le tableau des totaux par couleur T_totaux(rang, 1) = .Cells(lLine, 6) + T_totaux(rang, 1) T_totaux(rang, 2) = .Cells(lLine, 7) + T_totaux(rang, 2) ' Parcours les départements de la carte For Each loShape In oSheet.Shapes("CarteFrance").GroupItems ' Si la forme loShape a pour nom la valeur de la première colonne (l'identifiant FR-XX) If loShape.Name = Worksheets("Donnees").Cells(lLine, 3) Then ' Réactive le remplissage de la forme loShape.Fill.Visible = True ' Type de remplissage = couleur unie loShape.Fill.Solid ' Pas de transparence loShape.Fill.Transparency = 0# ' Couleur de remplissage loShape.Fill.ForeColor.RGB = lColor ' La forme a été trouvée => on sort de la boucle Exit For End If Next Next End With oSheet.Range("K14:L17") = T_totaux End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
29 déc. 2011 à 14:38
http://cjoint.com/?ALDoIT1hruy