VBA fusion cellule conditionnelle
romanza
Messages postés
263
Statut
Membre
-
romanza Messages postés 263 Statut Membre -
romanza Messages postés 263 Statut Membre -
Bonjour à tous,
Je suis en train de construire une planning.
En ligne K12 -NL12, j'ai mis des dates journalières.
Je souhaiterais qu'au dessus en ligne L11-NL11, les cellules se fusionnent pour indiquer le mois correspondant uniquement.
la solution est en VBA me semble-t-il mais je ne maîtrise pas.
Je vous remercie pour votre aide précieuse.
Bonne journée
Je suis en train de construire une planning.
En ligne K12 -NL12, j'ai mis des dates journalières.
Je souhaiterais qu'au dessus en ligne L11-NL11, les cellules se fusionnent pour indiquer le mois correspondant uniquement.
la solution est en VBA me semble-t-il mais je ne maîtrise pas.
Je vous remercie pour votre aide précieuse.
Bonne journée
Configuration: Windows / Internet Explorer 11.0
14 réponses
-
Bonjour,
Sous Excel (et VBA), la fusion de cellules c'est le début de la catastrophe !
-
Bonjour,
Mettre un fichier anonymisé pour une meilleur compréhension
Slts -
Bonjour,
j'approuve, éviter les fusions tant qu'on peut.
Tu peux te contenter de mettre le mois sur la 1ère colonne où il apparait ce qui fera exactement pareil.
En K11 :=K12
En L11, à tirer vers la droite :=SI(OU(K12="";MOIS(K12)<>MOIS(L12));L12;"")
format de cellulemmmm-aa
eric
-
Merci pour vos retours.
La fusion est un souhait de présentation sur un fichier Excel type Gant.
En K12 -NL12, mes dates peuvent varier en fonction d'une formule que j'ai mis en amont.
Aussi, pour plus de lisibilité, je souhaite que la ligne au dessus - L11-NL11 -n'indique que le mois.
Ex : En K12-Z12, j'ai des jours de février, en AA12-BF12, j'ai des jours de mars
Je souhaite que K11-Z11 soient fusionnées avec indication "FEVRIER"
que AA11-BF11 soient fusionnées avec indication "MARS
et ainsi de suite...."
romanza -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour,
Avec cette procédure :Option Explicit Sub FusionnerMois() Dim r As Range Dim c As Range Dim d As Range Set r = ActiveSheet.Range("K12:NL12") With r.Offset(-1) .UnMerge .ClearContents .NumberFormat = "mmmm" .HorizontalAlignment = xlCenter End With For Each c In r.Cells If d Is Nothing Then Set d = c.Offset(-1) d.Value = c.Value End If If Month(c.Offset(0, 1).Value) <> Month(d.Value) Then ActiveSheet.Range(d, c.Offset(-1)).Merge Set d = Nothing End If Next c End Sub -
Bonjour Patrice,
Merci pour le temps passé.
Ce qu'il y a c'est que j'ai une barre de défilement des jours associée.
Je te propose de t'envoyer le fichier mais ici je ne sais pas comment....
romanza-
Bonjour,
Déposes le fichier avec des commentaires explicatifs sur
https://mon-partage.fr/
et mets le lien obtenu dans ton prochain message.
-
-
-
Comme quoi il faut toujours poser la bonne question !!!!
Les dates ne sont pas en K12:NL12 mais en J11:NK11 et le résultat attendu n'est plus FÉVRIER mais févr-21.
Ceci dit, la macro fonctionne parfaitement, il suffit d'adapter la plage et le format.
Au lieu de la plage :Set r = ActiveSheet.Range("K12:NL12")Il fallait l'adapter :Set r = ActiveSheet.Range("J11:NK11")
Et au lieu du format :.NumberFormat = "mmmm"
il suffit de le remplacer par :.NumberFormat = "mmm-yy"
EDIT : C'est quoi « une barre de défilement des jours associée »
-
-
Oui, j'avais adapté pour la plage de cellules.
Mais si tu utilises la barre de défilement des jours en haut, les mois fusionnés ne suivent pas. -
Merci Patrice cela fonctionne très bien.
Peux-tu m'indiquer le code pour que les cellules mois soit bordurées -
-
Autre souci dont je viens de me rendre compte.
Quand on filtre avec les segments la correspondance mois ne suit pas.
Comment peut-on déclencher la macro à partir du filtre segment? -
Dans le module de la feuille TCD, ajoutes :
Private Sub Worksheet_PivotTableChangeSync(ByVal Target As PivotTable) FusionnerMois End Sub
-
-
Bonjour Patrice,
Je me permets de te solliciter pour mon projet pour lequel je rencontre 2 questions sur l'onglet "Chronologie des tâches"
Je te joins le fichier et j'ai mis 2 commentaires sur l'onglet correspondant
https://mon-partage.fr/f/tZRhVCpw/
Je te remercie d'avance pour ton aide
Pascal
.