Macro ou Données Validation
chriscece
Messages postés
58
Date d'inscription
Statut
Membre
Dernière intervention
-
chriscece Messages postés 58 Date d'inscription Statut Membre Dernière intervention -
chriscece Messages postés 58 Date d'inscription Statut Membre Dernière intervention -
Bonjour, et merci à tous les pros qui pourront me renseigner
J'ai créé une feuille de calcul excel me permettant de suivre l'avancement des travaux que j'ai a faire pour mes clients (je suis comptalbe). Elle se présente comme ça :
TVA SALAIRES CHARGES SOC SAISIE .....
CLIENT 1 OUI NON NON SALARIE 1
CLIENT 2 NON OUI NON SALARIE 2
CLIENT 3 N/A N/A N/A SALARIE 3
CLIENT 4 OUI OUI OUI SALARIE 3
CLIENT 5 CLIENT CLIENT NON SALARIE 1
...
Mon soucis : chaque choix provient d'une liste de données, mais les couleurs associées ne suivent pas. Et par une macro j'ai réussi à associer chaque choix à une couleur (oui : Vert - non : rouge - n/a : bleu - etc...).
Mais quand je modifie une cellule je dois relancer la macro.
Quelqu'un aurait-il la solution pour que ce soit automatique?
Merci d'avance
J'ai créé une feuille de calcul excel me permettant de suivre l'avancement des travaux que j'ai a faire pour mes clients (je suis comptalbe). Elle se présente comme ça :
TVA SALAIRES CHARGES SOC SAISIE .....
CLIENT 1 OUI NON NON SALARIE 1
CLIENT 2 NON OUI NON SALARIE 2
CLIENT 3 N/A N/A N/A SALARIE 3
CLIENT 4 OUI OUI OUI SALARIE 3
CLIENT 5 CLIENT CLIENT NON SALARIE 1
...
Mon soucis : chaque choix provient d'une liste de données, mais les couleurs associées ne suivent pas. Et par une macro j'ai réussi à associer chaque choix à une couleur (oui : Vert - non : rouge - n/a : bleu - etc...).
Mais quand je modifie une cellule je dois relancer la macro.
Quelqu'un aurait-il la solution pour que ce soit automatique?
Merci d'avance
A voir également:
- Macro ou Données Validation
- Fuite données maif - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Excel validation des données liste - Guide
- Impossible d'utiliser ce numéro de téléphone pour la validation - Forum Gmail
- Supprimer les données de navigation - Guide
14 réponses
Bonsoir,
Oui, menu 'format / mise en forme conditionnelle'.
Tu sélectionnes toutes les cellules ayant le même rôle, tu choisis tes conditions (jusqu'à 3 pour excel 2003) et le format à appliquer.
Pour toi ça pourrait être
'La valeur de la cellule est' 'égale à' "oui"
Format... onglet 'motif', vert
eric
Oui, menu 'format / mise en forme conditionnelle'.
Tu sélectionnes toutes les cellules ayant le même rôle, tu choisis tes conditions (jusqu'à 3 pour excel 2003) et le format à appliquer.
Pour toi ça pourrait être
'La valeur de la cellule est' 'égale à' "oui"
Format... onglet 'motif', vert
eric
Merci Eriic, mais je connais la mise en forme conditionnelle, le problème c'est que j'ai plus de 3 choix (OUI,NON,N/A,CLIENT,SALARIE1,SALARIE2, ...)
Une autre solution?
Une autre solution?
Ah oui, j'avais lu un peu vite...
tu peux mettre ta macro dans l'evenement Change de ta feuille (il faudra une saisie pour qu'elle se lance) ou dans SelectionChange (comme son nom l'indique il faudra changer la selection de la cellule active)
Ou dans Workbook_SheetCalculate de thisworkbook ?
eric
tu peux mettre ta macro dans l'evenement Change de ta feuille (il faudra une saisie pour qu'elle se lance) ou dans SelectionChange (comme son nom l'indique il faudra changer la selection de la cellule active)
Ou dans Workbook_SheetCalculate de thisworkbook ?
eric
Merci, mais comment faut-il faire pour mettre la macro dans l'évènement Change? Désolée, je suis débutante dans les macros.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Quand tu es dans le code de ta feuille, au-dessus tu as 2 listes déroulantes.
Dans celle de gauche tu choisis 'worksheet', dans celle de droite l'evenement que tu veux.
eric
Dans celle de gauche tu choisis 'worksheet', dans celle de droite l'evenement que tu veux.
eric
Bonsoir chriscece,
Le plus simple : tu fais un clic droit sur l'onglet de la feuille et tu choisis "Visualiser le code"
Tu te trouves dans une feuille blanche avec en haut les listes déroulantes.
Dans celle de gauche où tu vois "Général", tu choisis "Worksheet".
Mais en fait, tu peux utiliser cette macro :
http://www.excelabo.net/excel/conditionformat.php#mefca12couleurs
en mettant tes propres critères, bien entendu ! ;)
m@rina
Le plus simple : tu fais un clic droit sur l'onglet de la feuille et tu choisis "Visualiser le code"
Tu te trouves dans une feuille blanche avec en haut les listes déroulantes.
Dans celle de gauche où tu vois "Général", tu choisis "Worksheet".
Mais en fait, tu peux utiliser cette macro :
http://www.excelabo.net/excel/conditionformat.php#mefca12couleurs
en mettant tes propres critères, bien entendu ! ;)
m@rina
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Sub Test()
'Déclaration des variables -------------------------
Dim Cel As Range
Dim F As Worksheet
'MEI ----------------------------
Application.ScreenUpdating = False
'Blocage ragraîchissement écran
'Traitement------------------------
For Each F In Worksheets
'Pour chaque feuille du classeur
For Each Cel In F.UsedRange
'Pour chaque cellule de la plage utilisée de la feuille
Select Case Cel.Value
'définir case = valeur de cel
Case "OUI"
Cel.Interior.ColorIndex = 4
Case "NON"
Cel.Interior.ColorIndex = 3
Case "N/A"
Cel.Interior.ColorIndex = 8
Case "CLIENT"
Cel.Interior.ColorIndex = 17
Case "AVOCAT"
Cel.Interior.ColorIndex = 46
Case "TRIM"
Cel.Interior.ColorIndex = 39
Case "CAB. FAUX"
Cel.Interior.ColorIndex = 7
Case "8"
Cel.Interior.ColorIndex = 8
Case "A FAIRE"
Cel.Interior.ColorIndex = 3
Case "FAIT"
Case Else
Cel.Interior.ColorIndex = xlNone
End Select
Next Cel
Next F
Application.ScreenUpdating = True
End Sub
End Sub
Elle marchait très bien dans l'onglet général et maintenant ça beugue. Pourquoi?
Sub Test()
'Déclaration des variables -------------------------
Dim Cel As Range
Dim F As Worksheet
'MEI ----------------------------
Application.ScreenUpdating = False
'Blocage ragraîchissement écran
'Traitement------------------------
For Each F In Worksheets
'Pour chaque feuille du classeur
For Each Cel In F.UsedRange
'Pour chaque cellule de la plage utilisée de la feuille
Select Case Cel.Value
'définir case = valeur de cel
Case "OUI"
Cel.Interior.ColorIndex = 4
Case "NON"
Cel.Interior.ColorIndex = 3
Case "N/A"
Cel.Interior.ColorIndex = 8
Case "CLIENT"
Cel.Interior.ColorIndex = 17
Case "AVOCAT"
Cel.Interior.ColorIndex = 46
Case "TRIM"
Cel.Interior.ColorIndex = 39
Case "CAB. FAUX"
Cel.Interior.ColorIndex = 7
Case "8"
Cel.Interior.ColorIndex = 8
Case "A FAIRE"
Cel.Interior.ColorIndex = 3
Case "FAIT"
Case Else
Cel.Interior.ColorIndex = xlNone
End Select
Next Cel
Next F
Application.ScreenUpdating = True
End Sub
End Sub
Elle marchait très bien dans l'onglet général et maintenant ça beugue. Pourquoi?
Pour que ce soit plus simple, je joint le lien de mon fichier
http://www.cijoint.fr/cjlink.php?file=cj200807/cij6m0qwfN.xls
http://www.cijoint.fr/cjlink.php?file=cj200807/cij6m0qwfN.xls
Pas d'utilisation de SelectionChange dans le fichier que tu as mis en ligne.
Mais vu la vitesse d'execution de ta macro oublie cette idée, à chaque fois que tu voudras saisir qcq chose il faudra attendre 3s, ça deviendra vite insupportable.
Optimise plus ta macro avant
Mais vu la vitesse d'execution de ta macro oublie cette idée, à chaque fois que tu voudras saisir qcq chose il faudra attendre 3s, ça deviendra vite insupportable.
Optimise plus ta macro avant
Merci beaucoup pour votre aide à tous.
Eriic, je vois pas comment je peux optimiser, peux-tu m'aider? Et effectivement j'ai envoyé le fichier ou j'ai annulé la macro dans Worksheet.
Eriic, je vois pas comment je peux optimiser, peux-tu m'aider? Et effectivement j'ai envoyé le fichier ou j'ai annulé la macro dans Worksheet.