Choix sur seconde feuille
Fermé
sebjhesus
-
8 janv. 2015 à 13:10
jordane45 Messages postés 38393 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 janvier 2025 - 8 janv. 2015 à 15:05
jordane45 Messages postés 38393 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 janvier 2025 - 8 janv. 2015 à 15:05
A voir également:
- Choix sur seconde feuille
- Liste déroulante de choix excel - Guide
- Comment supprimer une feuille sur word - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Feuille a5 - Guide
- Bruler feuille de laurier - Guide
3 réponses
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 421
8 janv. 2015 à 14:03
8 janv. 2015 à 14:03
Bonjour
une proposition ici, sous réserve de compréhension.La solutionne fait pas référence aux couleurs de cellules (c'est assez compliqué avec Excel) mais au fait que seuls les valeurs négatives sont à afficher selon ce que définit vos formules de MFC
Ça reste toutefois à prouver, car vos empilages de conditions pour pour définir la couleur des cellules sont contradictoires
(<0 ou <6 ????? en b;leu >-1 et en rouge <0 ?????))
La solution se base sur un codage dans la colonne X de "Commande", colonne qui peut être masquée ou placée sur n'importe quelle autre feuille.
revenez si cela ne convient pas
https://www.cjoint.com/c/EAiogAcqkhN
crdlmnt
une proposition ici, sous réserve de compréhension.La solutionne fait pas référence aux couleurs de cellules (c'est assez compliqué avec Excel) mais au fait que seuls les valeurs négatives sont à afficher selon ce que définit vos formules de MFC
Ça reste toutefois à prouver, car vos empilages de conditions pour pour définir la couleur des cellules sont contradictoires
(<0 ou <6 ????? en b;leu >-1 et en rouge <0 ?????))
La solution se base sur un codage dans la colonne X de "Commande", colonne qui peut être masquée ou placée sur n'importe quelle autre feuille.
revenez si cela ne convient pas
https://www.cjoint.com/c/EAiogAcqkhN
crdlmnt
f894009
Messages postés
17229
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 janvier 2025
1 712
Modifié par f894009 le 8/01/2015 à 14:35
Modifié par f894009 le 8/01/2015 à 14:35
Bonjour,
Vaucluse, bonne annee
un exemple avec du VBA, masque/affiche ligne(s) tableau Montage en fonction valeur cellules colonne M de commande
https://www.cjoint.com/c/EAioPXM32kM
Vaucluse, bonne annee
un exemple avec du VBA, masque/affiche ligne(s) tableau Montage en fonction valeur cellules colonne M de commande
https://www.cjoint.com/c/EAioPXM32kM
jordane45
Messages postés
38393
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 janvier 2025
4 731
Modifié par jordane45 le 8/01/2015 à 15:13
Modifié par jordane45 le 8/01/2015 à 15:13
Bonjour à tous
Encore une autre façon de faire.. là aussi avec du VBA et en se basant sur les valeurs négatives.
https://www.cjoint.com/?0AipkHH7wDJ
Ici.. pas de afficher/masquer les lignes.... Il recréé complètement le tableau (sous-sections comprises) en parcourant (et ce.. peut importe le nombre) les lignes dans la feuille Commande...
PS: Il reste des petites choses à ajouter.. comme le fait de mettre des bordure autour du tableau et de la couleur dans les cellules...
Tu peux aussi ajouter une "remise à zéro" du tableau avant de relancer la macro histoire de ne pas "ajouter" des lignes en doublon...
Mais bon.. ça n'est qu'un exemple de ce qui est faisable.
EDIT : Pour le RAZ du tableau de l'onglet Commande.. tu peux faire ceci
et le lancer dans la précédente sub ( Sub test() ) via un
Cordialement,
Jordane
Encore une autre façon de faire.. là aussi avec du VBA et en se basant sur les valeurs négatives.
https://www.cjoint.com/?0AipkHH7wDJ
Ici.. pas de afficher/masquer les lignes.... Il recréé complètement le tableau (sous-sections comprises) en parcourant (et ce.. peut importe le nombre) les lignes dans la feuille Commande...
Sub test() Dim lastRCible As Long Dim lastRsrc As Long Dim Fsrc As Worksheet Dim Fcible As Worksheet Dim plageaTraiter As Range Dim rangeToMerge As Range Set Fsrc = Sheets("Commande") Set Fcible = Sheets("Montage") lastRsrc = Fsrc.Cells.Find("*", Range("B2"), , , xlByRows, xlPrevious).Row + 1 Set plageaTraiter = Fsrc.Range("B3:M" & lastRsrc) For Each R In plageaTraiter.Rows Debug.Print "------>> Ligne : " & R.Row 'on récupère le titre des sections If Fsrc.Cells(R.Row, "B").MergeCells Then Debug.Print "Cellules fusionnées.. donc.. sous section !" 'la cellule est fusionnée..cela correspond à une "sous section" 'recherche de la première ligne vide dans la feuille de destination lastRCible = Fcible.Cells.Find("*", Range("B6"), , , xlByRows, xlPrevious).Row + 1 Set rangeToMerge = Range(Fcible.Cells(lastRCible, "B"), Fcible.Cells(lastRCible, "F")) With rangeToMerge .HorizontalAlignment = xlCenter .VerticalAlignment = xlBottom .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With rangeToMerge.Merge With rangeToMerge.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .ThemeColor = xlThemeColorDark1 .TintAndShade = -0.149998474074526 .PatternTintAndShade = 0 End With rangeToMerge.Font.Bold = True Fcible.Cells(lastRCible, "B").Value = Fsrc.Cells(R.Row, "B").Value End If If Fsrc.Cells(R.Row, "M").Value < 0 Then Debug.Print "La cellule est négative ! => " & Cells(R.Row, "M").Value 'recherche de la première ligne vide dans la feuille de destination lastRCible = Fcible.Cells.Find("*", Range("B6"), , , xlByRows, xlPrevious).Row + 1 Fcible.Cells(lastRCible, "B").Value = Fsrc.Cells(R.Row, "B").Value Fcible.Cells(lastRCible, "C").Value = Fsrc.Cells(R.Row, "K").Value Fcible.Cells(lastRCible, "D").Value = Fsrc.Cells(R.Row, "L").Value Fcible.Cells(lastRCible, "E").Value = Fsrc.Cells(R.Row, "M").Value Fcible.Cells(lastRCible, "F").FormulaLocal = "=C" & lastRCible & "-D" & lastRCible End If Next End Sub
PS: Il reste des petites choses à ajouter.. comme le fait de mettre des bordure autour du tableau et de la couleur dans les cellules...
Tu peux aussi ajouter une "remise à zéro" du tableau avant de relancer la macro histoire de ne pas "ajouter" des lignes en doublon...
Mais bon.. ça n'est qu'un exemple de ce qui est faisable.
EDIT : Pour le RAZ du tableau de l'onglet Commande.. tu peux faire ceci
Sub RAZtblCommande() Dim Fcible As Worksheet Dim lastRCible As Long Set Fcible = Sheets("Montage") lastRCible = Fcible.Cells.Find("*", Range("B6"), , , xlByRows, xlPrevious).Row + 1 Rows(7 & ":" & lastRCible).Delete End Sub
et le lancer dans la précédente sub ( Sub test() ) via un
Call RAZtblCommande()
Cordialement,
Jordane