VBA fusion cellule conditionnelle
Fermé
romanza
romanza
- Messages postés
- 250
- Date d'inscription
- samedi 27 janvier 2007
- Statut
- Membre
- Dernière intervention
- 4 octobre 2021
romanza
- Messages postés
- 250
- Date d'inscription
- samedi 27 janvier 2007
- Statut
- Membre
- Dernière intervention
- 4 octobre 2021
14 réponses
Patrice33740
28 févr. 2021 à 17:04
- Messages postés
- 8549
- Date d'inscription
- dimanche 13 juin 2010
- Statut
- Membre
- Dernière intervention
- 7 mai 2022
28 févr. 2021 à 17:04
Bonjour,
Sous Excel (et VBA), la fusion de cellules c'est le début de la catastrophe !
Sous Excel (et VBA), la fusion de cellules c'est le début de la catastrophe !
The_boss_68
28 févr. 2021 à 16:43
- Messages postés
- 828
- Date d'inscription
- dimanche 15 novembre 2015
- Statut
- Membre
- Dernière intervention
- 15 juillet 2022
28 févr. 2021 à 16:43
Bonjour,
Mettre un fichier anonymisé pour une meilleur compréhension
Slts
Mettre un fichier anonymisé pour une meilleur compréhension
Slts
eriiic
Modifié le 28 févr. 2021 à 18:15
- Messages postés
- 24419
- Date d'inscription
- mardi 11 septembre 2007
- Statut
- Contributeur
- Dernière intervention
- 7 août 2022
Modifié le 28 févr. 2021 à 18:15
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 :
En L11, à tirer vers la droite :
format de cellule
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
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 cellule
mmmm-aa
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
romanza
28 févr. 2021 à 19:45
- Messages postés
- 250
- Date d'inscription
- samedi 27 janvier 2007
- Statut
- Membre
- Dernière intervention
- 4 octobre 2021
28 févr. 2021 à 19:45
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
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
Patrice33740
1 mars 2021 à 09:05
- Messages postés
- 8549
- Date d'inscription
- dimanche 13 juin 2010
- Statut
- Membre
- Dernière intervention
- 7 mai 2022
1 mars 2021 à 09:05
Bonjour,
Avec cette procédure :
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
romanza
1 mars 2021 à 10:05
- Messages postés
- 250
- Date d'inscription
- samedi 27 janvier 2007
- Statut
- Membre
- Dernière intervention
- 4 octobre 2021
1 mars 2021 à 10:05
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
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
Patrice33740
1 mars 2021 à 10:22
- Messages postés
- 8549
- Date d'inscription
- dimanche 13 juin 2010
- Statut
- Membre
- Dernière intervention
- 7 mai 2022
1 mars 2021 à 10:22
Bonjour,
Déposes le fichier avec des commentaires explicatifs sur
https://mon-partage.fr/
et mets le lien obtenu dans ton prochain message.
Déposes le fichier avec des commentaires explicatifs sur
https://mon-partage.fr/
et mets le lien obtenu dans ton prochain message.
romanza
1 mars 2021 à 10:33
- Messages postés
- 250
- Date d'inscription
- samedi 27 janvier 2007
- Statut
- Membre
- Dernière intervention
- 4 octobre 2021
1 mars 2021 à 10:33
Patrice33740
Modifié le 1 mars 2021 à 10:59
- Messages postés
- 8549
- Date d'inscription
- dimanche 13 juin 2010
- Statut
- Membre
- Dernière intervention
- 7 mai 2022
Modifié le 1 mars 2021 à 10:59
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 :
Et au lieu du format :
il suffit de le remplacer par :
EDIT : C'est quoi « une barre de défilement des jours associée »
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 »
romanza
1 mars 2021 à 11:02
- Messages postés
- 250
- Date d'inscription
- samedi 27 janvier 2007
- Statut
- Membre
- Dernière intervention
- 4 octobre 2021
1 mars 2021 à 11:02
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.
Mais si tu utilises la barre de défilement des jours en haut, les mois fusionnés ne suivent pas.
Patrice33740
Modifié le 1 mars 2021 à 11:29
- Messages postés
- 8549
- Date d'inscription
- dimanche 13 juin 2010
- Statut
- Membre
- Dernière intervention
- 7 mai 2022
Modifié le 1 mars 2021 à 11:29
Il faut affecter la macro à la barre de défilement
et ajouter en début de macro :
Et pour plus de fluidité, prévoir d'arrêter les calculs pendant la macro
et ajouter en début de macro :
Application.ScreenUpdating = False
Et pour plus de fluidité, prévoir d'arrêter les calculs pendant la macro
romanza
1 mars 2021 à 11:47
- Messages postés
- 250
- Date d'inscription
- samedi 27 janvier 2007
- Statut
- Membre
- Dernière intervention
- 4 octobre 2021
1 mars 2021 à 11:47
Merci Patrice cela fonctionne très bien.
Peux-tu m'indiquer le code pour que les cellules mois soit bordurées
Peux-tu m'indiquer le code pour que les cellules mois soit bordurées
Patrice33740
1 mars 2021 à 11:55
- Messages postés
- 8549
- Date d'inscription
- dimanche 13 juin 2010
- Statut
- Membre
- Dernière intervention
- 7 mai 2022
1 mars 2021 à 11:55
Remplaces :
Par
ActiveSheet.Range(d, c.Offset(-1)).Merge
Par
With ActiveSheet.Range(d, c.Offset(-1)) .Merge .Borders.Weight = xlThin End With
romanza
1 mars 2021 à 11:59
- Messages postés
- 250
- Date d'inscription
- samedi 27 janvier 2007
- Statut
- Membre
- Dernière intervention
- 4 octobre 2021
1 mars 2021 à 11:59
Merci Patrice
TOP!!
Bonne journée
romanza
TOP!!
Bonne journée
romanza
romanza
1 mars 2021 à 12:19
- Messages postés
- 250
- Date d'inscription
- samedi 27 janvier 2007
- Statut
- Membre
- Dernière intervention
- 4 octobre 2021
1 mars 2021 à 12:19
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?
Quand on filtre avec les segments la correspondance mois ne suit pas.
Comment peut-on déclencher la macro à partir du filtre segment?
Patrice33740
1 mars 2021 à 13:33
- Messages postés
- 8549
- Date d'inscription
- dimanche 13 juin 2010
- Statut
- Membre
- Dernière intervention
- 7 mai 2022
1 mars 2021 à 13:33
Dans le module de la feuille TCD, ajoutes :
Private Sub Worksheet_PivotTableChangeSync(ByVal Target As PivotTable) FusionnerMois End Sub
romanza
1 mars 2021 à 13:40
- Messages postés
- 250
- Date d'inscription
- samedi 27 janvier 2007
- Statut
- Membre
- Dernière intervention
- 4 octobre 2021
1 mars 2021 à 13:40
Merci Patrice,
Impec!
romanza
Impec!
romanza
romanza
3 mars 2021 à 10:58
- Messages postés
- 250
- Date d'inscription
- samedi 27 janvier 2007
- Statut
- Membre
- Dernière intervention
- 4 octobre 2021
3 mars 2021 à 10:58
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
.
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
.