Excel -- Problème sur une mise en forme conditionnelle
Résolu/Fermé
judithcle
Messages postés
19
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
30 novembre 2015
-
10 oct. 2012 à 09:46
judithcle Messages postés 19 Date d'inscription jeudi 13 janvier 2005 Statut Membre Dernière intervention 30 novembre 2015 - 12 oct. 2012 à 11:32
judithcle Messages postés 19 Date d'inscription jeudi 13 janvier 2005 Statut Membre Dernière intervention 30 novembre 2015 - 12 oct. 2012 à 11:32
A voir également:
- Mise en forme conditionnelle excel bug
- Mise en forme conditionnelle excel - Guide
- Bug yahoo mail - Accueil - Mail
- Mise en forme tableau word - Guide
- Liste déroulante excel - Guide
- Si et excel - Guide
9 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
10 oct. 2012 à 11:43
10 oct. 2012 à 11:43
bonjour,
sans trop avoir regardé copie cette macro et effectue la pour relancer les macros
et je rerajouterais en fin du code
sans trop avoir regardé copie cette macro et effectue la pour relancer les macros
sub depannage_events() Application.EnableEvents = True end sub
et je rerajouterais en fin du code
.... End If Next i Application.EnableEvents = True Exit Sub fin: Application.EnableEvents = True End Sub
judithcle
Messages postés
19
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
30 novembre 2015
10 oct. 2012 à 11:57
10 oct. 2012 à 11:57
Merci beaucoup Michel. Mais par contre, comme je n'y connais pas grand chose en programmation Excel, est-ce que je mets ça sur le fichier qui s'ouvre lorsque je vais dans Outils / Macro / Visual Basic Editor ?
Le fichier qui s'affiche s'appelle "Worksheet", et son contenu est :
"Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub"
Est-ce que je rajoute ton code au milieu de ces deux lignes, ou bien dans un autre fichier que je trouverai ailleurs ?...
Merci d'avance pour ton aide,
Judith
Le fichier qui s'affiche s'appelle "Worksheet", et son contenu est :
"Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub"
Est-ce que je rajoute ton code au milieu de ces deux lignes, ou bien dans un autre fichier que je trouverai ailleurs ?...
Merci d'avance pour ton aide,
Judith
judithcle
Messages postés
19
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
30 novembre 2015
10 oct. 2012 à 12:13
10 oct. 2012 à 12:13
Oups ! Je crois que j'ai compris.
J'ai d'abord fait une nouvelle macro, où j'ai mis ton premier code, puis j'ai utilisé l'éditeur et je suis allée dans le fichier "ThisWorkbook" où j'ai retrouvé le code qui avait été fait en premier dans le fichier d'origine pour créer la macro. J'ai rajouté ton code à la fin.
Par contre, du coup, quand j'ai voulu tester ce que ça donnait, j'ai ce message d'erreur :
"Erreur de compilation : Seuls des commentaires peuvent apparaître après End Sub, End Function, ou End Property".
Du coup j'ai enlevé le End Sub après lequel j'ai mis ton code, mais du coup j'ai cette autre erreur :
"Erreur de compilation : End If sans bloc IF".
Donc je n'ai pas dû mettre ton code au bon endroit...
Voilà l'ensemble de ce que j'ai, te serait-il possible de me corriger le code pour qu'il soit bon ?
Merci d'avance,
Judith
Code :
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim i As Integer, j As Long, Mfc As FormatCondition, c As Range, Ws1 As Worksheet
On Error GoTo fin ' en cas de mauvaise manipulation, ça plante sur l'ordre suivant
Application.EnableEvents = False
Set Ws1 = Sheets("MFC")
For i = 1 To Target.FormatConditions.Count
Set Mfc = Target.FormatConditions(i)
If UCase(Left(Mfc.Formula1, 7)) = "=MA_MFC" Then
Ws1.Range("A1").Value = Target.Value
Set c = Nothing
For j = 2 To Ws1.Range("A65536").End(xlUp).Row
If Ws1.Range("A" & j) = True Then
Set c = Ws1.Range("A" & j)
Exit For
End If
Next j
If c Is Nothing Then Set c = Ws1.Range("A1")
c.Copy
Target.PasteSpecial (xlPasteFormats)
Application.CutCopyMode = False
End If
Next i
Application.EnableEvents = True
fin:
On Error GoTo 0
End If
Next i
Application.EnableEvents = True
Exit Sub
fin:
Application.EnableEvents = True
End Sub
J'ai d'abord fait une nouvelle macro, où j'ai mis ton premier code, puis j'ai utilisé l'éditeur et je suis allée dans le fichier "ThisWorkbook" où j'ai retrouvé le code qui avait été fait en premier dans le fichier d'origine pour créer la macro. J'ai rajouté ton code à la fin.
Par contre, du coup, quand j'ai voulu tester ce que ça donnait, j'ai ce message d'erreur :
"Erreur de compilation : Seuls des commentaires peuvent apparaître après End Sub, End Function, ou End Property".
Du coup j'ai enlevé le End Sub après lequel j'ai mis ton code, mais du coup j'ai cette autre erreur :
"Erreur de compilation : End If sans bloc IF".
Donc je n'ai pas dû mettre ton code au bon endroit...
Voilà l'ensemble de ce que j'ai, te serait-il possible de me corriger le code pour qu'il soit bon ?
Merci d'avance,
Judith
Code :
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim i As Integer, j As Long, Mfc As FormatCondition, c As Range, Ws1 As Worksheet
On Error GoTo fin ' en cas de mauvaise manipulation, ça plante sur l'ordre suivant
Application.EnableEvents = False
Set Ws1 = Sheets("MFC")
For i = 1 To Target.FormatConditions.Count
Set Mfc = Target.FormatConditions(i)
If UCase(Left(Mfc.Formula1, 7)) = "=MA_MFC" Then
Ws1.Range("A1").Value = Target.Value
Set c = Nothing
For j = 2 To Ws1.Range("A65536").End(xlUp).Row
If Ws1.Range("A" & j) = True Then
Set c = Ws1.Range("A" & j)
Exit For
End If
Next j
If c Is Nothing Then Set c = Ws1.Range("A1")
c.Copy
Target.PasteSpecial (xlPasteFormats)
Application.CutCopyMode = False
End If
Next i
Application.EnableEvents = True
fin:
On Error GoTo 0
End If
Next i
Application.EnableEvents = True
Exit Sub
fin:
Application.EnableEvents = True
End Sub
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié par michel_m le 10/10/2012 à 12:30
Modifié par michel_m le 10/10/2012 à 12:30
supprime ces lignes:
pour obtenir
fin: On Error GoTo 0 End If Next i Application.EnableEvents = True Exit Sub
pour obtenir
If c Is Nothing Then Set c = Ws1.Range("A1") c.Copy Target.PasteSpecial (xlPasteFormats) Application.CutCopyMode = False End If Next i fin: Application.EnableEvents = True End Sub
judithcle
Messages postés
19
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
30 novembre 2015
10 oct. 2012 à 13:08
10 oct. 2012 à 13:08
C'est fait, merci.
Pour l'instant, ça ne marche toujours pas.
Mais je me dis que pour l'autre macro que tu m'avais dit de créer, j'ai dû la faire au mauvais endroit.
Je viens de retrouver le code que tu m'avais donné dans le fichier MFC (= là où sont les éléments utilisés par la macro pour faire mon planning).
Ce fichier, intitulé "Feuil2 (MFC)", a le code suivant :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Sub depannage_events()
Application.EnableEvents = True
End Sub
End If
Next i
Application.EnableEvents = True
Exit Sub
fin:
Application.EnableEvents = True
End Sub
Est-ce que c'est bon, ou pas ??
Sachant que pour les autres onglets de mon fichier Excel, j'ai juste le code de base :
"Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub"
Est-ce qu'il ne faudrait pas que le code "sub depannage" soit dans chaque page ? (Ou ailleurs... ?)
Merci,
Judith
Pour l'instant, ça ne marche toujours pas.
Mais je me dis que pour l'autre macro que tu m'avais dit de créer, j'ai dû la faire au mauvais endroit.
Je viens de retrouver le code que tu m'avais donné dans le fichier MFC (= là où sont les éléments utilisés par la macro pour faire mon planning).
Ce fichier, intitulé "Feuil2 (MFC)", a le code suivant :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Sub depannage_events()
Application.EnableEvents = True
End Sub
End If
Next i
Application.EnableEvents = True
Exit Sub
fin:
Application.EnableEvents = True
End Sub
Est-ce que c'est bon, ou pas ??
Sachant que pour les autres onglets de mon fichier Excel, j'ai juste le code de base :
"Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub"
Est-ce qu'il ne faudrait pas que le code "sub depannage" soit dans chaque page ? (Ou ailleurs... ?)
Merci,
Judith
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
10 oct. 2012 à 14:18
10 oct. 2012 à 14:18
Non, absolument pas :o)
je n'ai pas 2003 et pas beaucoup de temps cet après midi et serait absent jusqu'à lundi...
Je demande à un contributeur ayant 2003 de venir t'aider
je n'ai pas 2003 et pas beaucoup de temps cet après midi et serait absent jusqu'à lundi...
Je demande à un contributeur ayant 2003 de venir t'aider
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 427
10 oct. 2012 à 15:25
10 oct. 2012 à 15:25
bonjour
michel vient de me contacter,
j'ai vaguement compris qu'il s'agit d'une histoire de couleur mais, peux tu m'expliquer en quelques mots ce que tu souhaites obtenir dans la feuille 08-12 oct.
bonne suite
michel vient de me contacter,
j'ai vaguement compris qu'il s'agit d'une histoire de couleur mais, peux tu m'expliquer en quelques mots ce que tu souhaites obtenir dans la feuille 08-12 oct.
bonne suite
judithcle
Messages postés
19
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
30 novembre 2015
10 oct. 2012 à 16:32
10 oct. 2012 à 16:32
Bonjour
Merci pour ton aide.
Ben en fait, sur cette feuille on doit pouvoir choisir un des choix possibles, qui se trouvent dans la liste de l'onglet "MFC".
Dans cet onglet MFC, j'ai mis des couleurs et à côté les intitulés des champs à sélectionner.
Actuellement, sur la feuille 08-12 oct., on a déjà un planning qui a été fait, par le biais de ces choix (je l'avais fait à un moment où ça marchait).
Mais à présent, si je veux changer l'une quelconque des cellules de cette page, la couleur de la cellule reste celle qui était auparavant déjà mise pour cette cellule-là, et j'ai juste le contenu texte de la cellule qui change. C'est ce qui se passe sur mon fichier ""PLANNING CVE 2012 - forum.xls".
L'autre fichier ("Planning équipe - version forum"), a priori, fonctionne comme je le souhaite : quand on clique sur une cellule pour la changer et qu'on choisit un autre champ, la couleur change avec le champ.
J'ai constaté sur le bureau que j'utilise que, si j'ouvre d'abord ce deuxième fichier qui fonctionne, il marche bien. Mais si j'ouvre ensuite le premier, qui ne marche pas, et qu'ensuite j'ouvre le deuxième (même si le premier a été fermé entre-temps), alors le deuxième ne marche plus.
Si je ferme ma session utilisateur et que je la rouvre, et que je rouvre le deuxième qui ne marchait plus (mais qui marchait au début... je sais c'est un peu compliqué !), là il marche à nouveau (par contre, le premier ne marche toujours pas).
A la base, j'avais fait un fichier hier, qui fonctionnait. Mais après l'avoir utilisé un peu, il ne marchait plus, et j'avais dû le refaire en repartant du fichier d'origine trouvé sur ce site, pour qu'il fonctionne à nouveau.
Ce matin, j'ai constaté qu'il ne marchait plus. Quelqu'un d'autre l'a peut-être ouvert entre-temps, du coup je me demandais s'il n'y avait pas quelque chose dans le code qui fait que cette histoire de couleurs ne marche plus si on fait telle ou telle manipulation, ou je ne sais quoi d'autre...
Le problème, c'est que je n'y connais rien du tout en visual basic (je connais plutôt les langages web...), du coup je ne peux pas réussir à trouver de solution.
Merci d'avance de ton aide...
Judith
Merci pour ton aide.
Ben en fait, sur cette feuille on doit pouvoir choisir un des choix possibles, qui se trouvent dans la liste de l'onglet "MFC".
Dans cet onglet MFC, j'ai mis des couleurs et à côté les intitulés des champs à sélectionner.
Actuellement, sur la feuille 08-12 oct., on a déjà un planning qui a été fait, par le biais de ces choix (je l'avais fait à un moment où ça marchait).
Mais à présent, si je veux changer l'une quelconque des cellules de cette page, la couleur de la cellule reste celle qui était auparavant déjà mise pour cette cellule-là, et j'ai juste le contenu texte de la cellule qui change. C'est ce qui se passe sur mon fichier ""PLANNING CVE 2012 - forum.xls".
L'autre fichier ("Planning équipe - version forum"), a priori, fonctionne comme je le souhaite : quand on clique sur une cellule pour la changer et qu'on choisit un autre champ, la couleur change avec le champ.
J'ai constaté sur le bureau que j'utilise que, si j'ouvre d'abord ce deuxième fichier qui fonctionne, il marche bien. Mais si j'ouvre ensuite le premier, qui ne marche pas, et qu'ensuite j'ouvre le deuxième (même si le premier a été fermé entre-temps), alors le deuxième ne marche plus.
Si je ferme ma session utilisateur et que je la rouvre, et que je rouvre le deuxième qui ne marchait plus (mais qui marchait au début... je sais c'est un peu compliqué !), là il marche à nouveau (par contre, le premier ne marche toujours pas).
A la base, j'avais fait un fichier hier, qui fonctionnait. Mais après l'avoir utilisé un peu, il ne marchait plus, et j'avais dû le refaire en repartant du fichier d'origine trouvé sur ce site, pour qu'il fonctionne à nouveau.
Ce matin, j'ai constaté qu'il ne marchait plus. Quelqu'un d'autre l'a peut-être ouvert entre-temps, du coup je me demandais s'il n'y avait pas quelque chose dans le code qui fait que cette histoire de couleurs ne marche plus si on fait telle ou telle manipulation, ou je ne sais quoi d'autre...
Le problème, c'est que je n'y connais rien du tout en visual basic (je connais plutôt les langages web...), du coup je ne peux pas réussir à trouver de solution.
Merci d'avance de ton aide...
Judith
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 427
10 oct. 2012 à 16:23
10 oct. 2012 à 16:23
re
une tentative plus simple (sans utiliser de MFC) avec ce que j'ai compris
https://www.cjoint.com/?3JkqwarJooU
bonne suite
une tentative plus simple (sans utiliser de MFC) avec ce que j'ai compris
https://www.cjoint.com/?3JkqwarJooU
bonne suite
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 427
10 oct. 2012 à 16:49
10 oct. 2012 à 16:49
ou ceci qui évite de colorer une cellule qui n'est pas dans le plannig
https://www.cjoint.com/?3JkqWk3Io9i
https://www.cjoint.com/?3JkqWk3Io9i
judithcle
Messages postés
19
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
30 novembre 2015
10 oct. 2012 à 21:37
10 oct. 2012 à 21:37
Super, ça marche !
Merci beaucoup d'avoir pris le temps de faire ça pour moi.
Trois questions cependant :
- Quelle est la différence entre le premier et le deuxième fichiers que tu as faits ? (Tu as mis que ça évitait de colorer une cellule qui n'est pas dans le planning : que veux-tu dire exactement par là ??)
- J'ai voulu allonger le tableau des couleurs en mettant deux lignes de plus (dans l'onglet "Couleurs"), mais après l'avoir fait, je ne vois pas ces choix dans la liste de sélection de mon planning, lorsque je veux choisir comment remplir une case. Faut-il que je modifie le code en conséquence ?? Ou que dois-je faire d'autre ?
- A priori, seule la couleur de la cellule est reprise, pas celle du texte (j'avais mis du blanc et du bleu sur les deux cellules de couleurs violettes).
Bon, ce n'est pas franchement grave. Je suppose qu'il y aurait un moyen de rajouter ça, tu n'as sans doute simplement pas vu qu'il y avait des différences dans mes choix ? Enfin bon, si jamais ça te prenait très peu de temps pour rajouter ce paramètre, n'hésite pas. Sinon, ça n'est pas grave.
En tout cas merci d'avoir fait tout ça.
Et puis encore bravo pour le résultat correspondant à mon besoin !!
Bonne soirée (ou journée selon l'heure),
Judith
Merci beaucoup d'avoir pris le temps de faire ça pour moi.
Trois questions cependant :
- Quelle est la différence entre le premier et le deuxième fichiers que tu as faits ? (Tu as mis que ça évitait de colorer une cellule qui n'est pas dans le planning : que veux-tu dire exactement par là ??)
- J'ai voulu allonger le tableau des couleurs en mettant deux lignes de plus (dans l'onglet "Couleurs"), mais après l'avoir fait, je ne vois pas ces choix dans la liste de sélection de mon planning, lorsque je veux choisir comment remplir une case. Faut-il que je modifie le code en conséquence ?? Ou que dois-je faire d'autre ?
- A priori, seule la couleur de la cellule est reprise, pas celle du texte (j'avais mis du blanc et du bleu sur les deux cellules de couleurs violettes).
Bon, ce n'est pas franchement grave. Je suppose qu'il y aurait un moyen de rajouter ça, tu n'as sans doute simplement pas vu qu'il y avait des différences dans mes choix ? Enfin bon, si jamais ça te prenait très peu de temps pour rajouter ce paramètre, n'hésite pas. Sinon, ça n'est pas grave.
En tout cas merci d'avoir fait tout ça.
Et puis encore bravo pour le résultat correspondant à mon besoin !!
Bonne soirée (ou journée selon l'heure),
Judith
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 427
11 oct. 2012 à 10:14
11 oct. 2012 à 10:14
bonjour
1. l'instruction (version F4)
If Not Intersect(Target, Sh.Range(planning)) Is Nothing Then
limitera l'exécution de la procedure à la plage planning définie par la constante planning en début de code
si tu mets un 5 en K13 (hors planning) le format de K13 ne sera pas modifié
2. je n'ai effectivement pas pensé à redéfinir la plage lst_noms. Il faut la rendre "dynamique" de façon qu'un ajout/retrait soit automatiquement pris en compte
(voir insertion/nom/definir)
=DECALER(Couleurs!$A$2;0;0;NBVAL(Couleurs!$A$2:$A$200);1)
3. je n'avais pas remarqué les couleurs de police
https://www.cjoint.com/?3JlkhzOjcBO
bonne journée
1. l'instruction (version F4)
If Not Intersect(Target, Sh.Range(planning)) Is Nothing Then
limitera l'exécution de la procedure à la plage planning définie par la constante planning en début de code
si tu mets un 5 en K13 (hors planning) le format de K13 ne sera pas modifié
2. je n'ai effectivement pas pensé à redéfinir la plage lst_noms. Il faut la rendre "dynamique" de façon qu'un ajout/retrait soit automatiquement pris en compte
(voir insertion/nom/definir)
=DECALER(Couleurs!$A$2;0;0;NBVAL(Couleurs!$A$2:$A$200);1)
3. je n'avais pas remarqué les couleurs de police
https://www.cjoint.com/?3JlkhzOjcBO
bonne journée
judithcle
Messages postés
19
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
30 novembre 2015
12 oct. 2012 à 09:19
12 oct. 2012 à 09:19
Merci beaucoup !!
Je n'ai pas eu le temps de me pencher sur ça hier après ton commentaire, c'est pour ça que je ne te réponds que maintenant.
Du coup, j'ai pu augmenter manuellement la plage lst_noms par insertion/nom/definir.
Par contre, la ligne de code que tu me donnes pour que ça s'augmente ou s'enlève automatiquement, elle est à mettre où ?
Car comme je n'ai pas voulu refaire tout mon fichier Excel que j'ai pas mal modifié par rapport à la version que je t'avais donnée, j'ai juste fait un copier/coller du code de la page "ThisWorkbook", ce qui fait que la modifications pour les couleurs de police fonctionne, mais je ne vois nulle part dans ton fichier Excel le code "=DECALER(Couleurs!$A$2;0;0;NBVAL(Couleurs!$A$2:$A$200);1) " (pourtant, ça marche sur ton fichier - mais pas sur le mien puisque je n'ai pas su où le mettre...).
Sinon, ton point 1. est intéressant pour moi, car il se peut que j'aie à rajouter une ligne pour une personne supplémentaire prochainement, ça me permet de savoir comment faire pour augmenter les plages du tableau.
Merci encore !!!
Bonne journée,
Judith
Je n'ai pas eu le temps de me pencher sur ça hier après ton commentaire, c'est pour ça que je ne te réponds que maintenant.
Du coup, j'ai pu augmenter manuellement la plage lst_noms par insertion/nom/definir.
Par contre, la ligne de code que tu me donnes pour que ça s'augmente ou s'enlève automatiquement, elle est à mettre où ?
Car comme je n'ai pas voulu refaire tout mon fichier Excel que j'ai pas mal modifié par rapport à la version que je t'avais donnée, j'ai juste fait un copier/coller du code de la page "ThisWorkbook", ce qui fait que la modifications pour les couleurs de police fonctionne, mais je ne vois nulle part dans ton fichier Excel le code "=DECALER(Couleurs!$A$2;0;0;NBVAL(Couleurs!$A$2:$A$200);1) " (pourtant, ça marche sur ton fichier - mais pas sur le mien puisque je n'ai pas su où le mettre...).
Sinon, ton point 1. est intéressant pour moi, car il se peut que j'aie à rajouter une ligne pour une personne supplémentaire prochainement, ça me permet de savoir comment faire pour augmenter les plages du tableau.
Merci encore !!!
Bonne journée,
Judith
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 427
Modifié par ccm81 le 12/10/2012 à 09:43
Modifié par ccm81 le 12/10/2012 à 09:43
1. Pour ajouter un nom dans le planning,
je suppose que tu as compris qu'il fallait ensuite modifier la constante planning du code
2. tu n'as pas bien lu le point 2.
Pas besoin de toucher au code,
C'est simplement la définition de la plage lst_noms (celle qui est reprise dans la liste déroulante des feuilles "date") qu'il faut rendre dynamique
Pour voir les noms de plage de la feuille :
Tu te mets dans la feuille Couleurs
Insertion/Nom/Définir
clic sur DECALER
ça doit te montrer la plage des couleurs
RQ1. dans le code j'aurais pu reprendre cette plage (lst_noms) et éviter le calcul de lifin et de plage
RQ2. =DECALER(Couleurs!$A$2;0;0;NBVAL(Couleurs!$A$2:$A$200);1)
signifie que la plage lst_noms se définit
- à partir de la cellule A2
- dont la première cellule est décalée de 0 lignes, 0 colonnes (par raooprt à A2)
- dont le nombre de lignes est égal au nombre de valeurs de la plage A2:A200 (on taille large!)
- dont le nombre de colonnes est 1
RQ3. pour ajouter une couleur, tu l'ajoutes simplement à la fin du tableau (tu n'as pas à toucher à la définition de lst_noms
bonne journée
je suppose que tu as compris qu'il fallait ensuite modifier la constante planning du code
2. tu n'as pas bien lu le point 2.
Pas besoin de toucher au code,
C'est simplement la définition de la plage lst_noms (celle qui est reprise dans la liste déroulante des feuilles "date") qu'il faut rendre dynamique
Pour voir les noms de plage de la feuille :
Tu te mets dans la feuille Couleurs
Insertion/Nom/Définir
clic sur DECALER
ça doit te montrer la plage des couleurs
RQ1. dans le code j'aurais pu reprendre cette plage (lst_noms) et éviter le calcul de lifin et de plage
RQ2. =DECALER(Couleurs!$A$2;0;0;NBVAL(Couleurs!$A$2:$A$200);1)
signifie que la plage lst_noms se définit
- à partir de la cellule A2
- dont la première cellule est décalée de 0 lignes, 0 colonnes (par raooprt à A2)
- dont le nombre de lignes est égal au nombre de valeurs de la plage A2:A200 (on taille large!)
- dont le nombre de colonnes est 1
RQ3. pour ajouter une couleur, tu l'ajoutes simplement à la fin du tableau (tu n'as pas à toucher à la définition de lst_noms
bonne journée
judithcle
Messages postés
19
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
30 novembre 2015
12 oct. 2012 à 11:32
12 oct. 2012 à 11:32
Ok, j'ai compris pour le décalage, ça marche maintenant !!
En fait, je ne comprenais pas bien ce que tu disais, car tu as mis qu'il me fallait cliquer sur DECALER, mais je n'avais pas de bouton où cliquer nommé "Decaler" ou quoi que ce soit de semblable.
Par contre, j'ai mis ta formule =DECALER(Couleurs!$A$2;0;0;NBVAL(Couleurs!$A$2:$A$200);1) en-dessous de "Fait référence à" concernant la liste lst_noms, et du coup ça fait le décalage automatiquement.
Merci pour toute ton aide pour ce fichier !!! Je n'ai plus aucun problème à présent.
Bonne fin de journée !!
Judith
En fait, je ne comprenais pas bien ce que tu disais, car tu as mis qu'il me fallait cliquer sur DECALER, mais je n'avais pas de bouton où cliquer nommé "Decaler" ou quoi que ce soit de semblable.
Par contre, j'ai mis ta formule =DECALER(Couleurs!$A$2;0;0;NBVAL(Couleurs!$A$2:$A$200);1) en-dessous de "Fait référence à" concernant la liste lst_noms, et du coup ça fait le décalage automatiquement.
Merci pour toute ton aide pour ce fichier !!! Je n'ai plus aucun problème à présent.
Bonne fin de journée !!
Judith