VBA : colorier cellules fusionnées en fonction activecell
Résolu/Fermé
Remi2236
Messages postés
86
Date d'inscription
jeudi 10 septembre 2015
Statut
Membre
Dernière intervention
22 mai 2024
-
9 févr. 2022 à 14:00
Remi2236 Messages postés 86 Date d'inscription jeudi 10 septembre 2015 Statut Membre Dernière intervention 22 mai 2024 - 9 mars 2022 à 22:41
Remi2236 Messages postés 86 Date d'inscription jeudi 10 septembre 2015 Statut Membre Dernière intervention 22 mai 2024 - 9 mars 2022 à 22:41
A voir également:
- VBA : colorier cellules fusionnées en fonction activecell
- Excel compter cellule couleur sans vba - Guide
- Mkdir vba ✓ - Forum VB / VBA
- L'indice n'appartient pas à la sélection vba ✓ - Forum Programmation
- Autofill vba ✓ - Forum Excel
- Vba range avec variable ✓ - Forum VB / VBA
31 réponses
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
8 mars 2022 à 15:31
8 mars 2022 à 15:31
Bonjour,
Fichier modifie pour inversion +/- dates et si vous cliquer sur l'adresse colonne jour en A2: defilement pour attendre la colonne du jour, clique une deuxieme fois vous ramene en colonne C
https://www.cjoint.com/c/LCioCJmCRzf
Fichier modifie pour inversion +/- dates et si vous cliquer sur l'adresse colonne jour en A2: defilement pour attendre la colonne du jour, clique une deuxieme fois vous ramene en colonne C
https://www.cjoint.com/c/LCioCJmCRzf
yg_be
Messages postés
23531
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 avril 2025
Ambassadeur
1 578
9 févr. 2022 à 16:36
9 févr. 2022 à 16:36
bonjour,
pour le premier point, as-tu essayé de mettre
pour le premier point, as-tu essayé de mettre
1à la place de
Target.Row?
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
Modifié le 9 févr. 2022 à 16:49
Modifié le 9 févr. 2022 à 16:49
Bonjour,
comme ceci:
il faut cliquer sur la ligne haute des cellules fusionnées pour que cela fonctionne!
comme ceci:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim DerniereLigneUtilisee As Long DerniereLigneUtilisee = Cells(Rows.Count, 2).End(xlUp).Row 'où X est le numéro de la colonne donnée If Not Application.Intersect(Target, Range("C1:NC" & DerniereLigneUtilisee)) Is Nothing Then Range("B1:B" & DerniereLigneUtilisee).Interior.ColorIndex = xlColorIndexNone Cells(Target.Row, 2).Interior.Color = RGB(0, 255, 0) End If End Sub
il faut cliquer sur la ligne haute des cellules fusionnées pour que cela fonctionne!
Remi2236
Messages postés
86
Date d'inscription
jeudi 10 septembre 2015
Statut
Membre
Dernière intervention
22 mai 2024
1
9 févr. 2022 à 17:38
9 févr. 2022 à 17:38
Bonjour,
Cela fonctionne comme ce que j'avais fait, mais il n'y a pas possibilité que cela fonctionne également avec la ligne basse des cellules fusionnées ?
Cdlt,
Rémi
Cela fonctionne comme ce que j'avais fait, mais il n'y a pas possibilité que cela fonctionne également avec la ligne basse des cellules fusionnées ?
Cdlt,
Rémi
yg_be
Messages postés
23531
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 avril 2025
1 578
9 févr. 2022 à 17:45
9 févr. 2022 à 17:45
Si, à condition de ne pas simplement utiliser
Target.Row.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Remi2236
Messages postés
86
Date d'inscription
jeudi 10 septembre 2015
Statut
Membre
Dernière intervention
22 mai 2024
1
9 févr. 2022 à 17:57
9 févr. 2022 à 17:57
Bonsoir,
Que dois-je mettre alors ? Car si je remplace target.row par 1, ça me colorie la cellule B1 uniquement.
Que dois-je mettre alors ? Car si je remplace target.row par 1, ça me colorie la cellule B1 uniquement.
yg_be
Messages postés
23531
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 avril 2025
1 578
9 févr. 2022 à 19:09
9 févr. 2022 à 19:09
il faut faire un petit calcul qui retire un si la valeur est paire.
Remi2236
Messages postés
86
Date d'inscription
jeudi 10 septembre 2015
Statut
Membre
Dernière intervention
22 mai 2024
1
>
yg_be
Messages postés
23531
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 avril 2025
10 févr. 2022 à 08:37
10 févr. 2022 à 08:37
Bonjour,
Vous auriez un exemple qui reprendrait mon exemple :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("C1:NC2")) Is Nothing Then
Range("B1:B2").Cells(1).Interior.ColorIndex = xlColorIndexNone
Cells(Target.Row, "B").Interior.Color = RGB(0, 255, 0)
End If
End sub
Cdlt,
Rémi
Vous auriez un exemple qui reprendrait mon exemple :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("C1:NC2")) Is Nothing Then
Range("B1:B2").Cells(1).Interior.ColorIndex = xlColorIndexNone
Cells(Target.Row, "B").Interior.Color = RGB(0, 255, 0)
End If
End sub
Cdlt,
Rémi
yg_be
Messages postés
23531
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 avril 2025
1 578
>
Remi2236
Messages postés
86
Date d'inscription
jeudi 10 septembre 2015
Statut
Membre
Dernière intervention
22 mai 2024
10 févr. 2022 à 09:12
10 févr. 2022 à 09:12
un exemple:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Application.Intersect(Target, Range("C1:NC2")) Is Nothing Then Range("B1:B2").Cells(1).Interior.ColorIndex = xlColorIndexNone Cells(spmu(Target.Row), "B").Interior.Color = RGB(0, 255, 0) End If End Sub Private Function spmu(n As Integer) If n Mod 2 = 0 Then spmu = n - 1 Else spmu = n End If End Function
Remi2236
Messages postés
86
Date d'inscription
jeudi 10 septembre 2015
Statut
Membre
Dernière intervention
22 mai 2024
1
16 févr. 2022 à 15:51
16 févr. 2022 à 15:51
Bonjour,
Ca ne fonctionne pas. On ne pourrait pas se servir de la fonction Selection.Offset(1, 0) ?
Ou de demander à ce que si la 2ème ligne est sélectionnée, que cela reproduise le même effet que si on sélectionnait la première ligne ?
Cdlmt
Rémi
Ca ne fonctionne pas. On ne pourrait pas se servir de la fonction Selection.Offset(1, 0) ?
Ou de demander à ce que si la 2ème ligne est sélectionnée, que cela reproduise le même effet que si on sélectionnait la première ligne ?
Cdlmt
Rémi
yg_be
Messages postés
23531
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 avril 2025
1 578
16 févr. 2022 à 16:00
16 févr. 2022 à 16:00
"Ca ne fonctionne pas": message d'erreur?
Remi2236
Messages postés
86
Date d'inscription
jeudi 10 septembre 2015
Statut
Membre
Dernière intervention
22 mai 2024
1
17 févr. 2022 à 21:13
17 févr. 2022 à 21:13
Bonsoir,
Je vous mets un fichier exemple pour vous montrer :
https://www.cjoint.com/c/LBrumTizrPA
Cdlt,
Rémi
Je vous mets un fichier exemple pour vous montrer :
https://www.cjoint.com/c/LBrumTizrPA
Cdlt,
Rémi
yg_be
Messages postés
23531
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 avril 2025
1 578
17 févr. 2022 à 22:47
17 févr. 2022 à 22:47
Rien ne fonctionne. Tu n'as tenu compte d'aucune suggestion, ce fichier est bourré d'erreurs.
Recommence peut-être du point de départ.
Recommence peut-être du point de départ.
Remi2236
Messages postés
86
Date d'inscription
jeudi 10 septembre 2015
Statut
Membre
Dernière intervention
22 mai 2024
1
18 févr. 2022 à 07:57
18 févr. 2022 à 07:57
Bonjour,
Mes connaissances en VBA sont assez faibles, je ne sais pas trop comment procéder. Vous pourriez m'aider pour le code ?
Cdlt
Rémi
Mes connaissances en VBA sont assez faibles, je ne sais pas trop comment procéder. Vous pourriez m'aider pour le code ?
Cdlt
Rémi
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
18 févr. 2022 à 10:20
18 févr. 2022 à 10:20
Bonjour a vous tous,
Remi2236:
Ca Roule depuis oct 2021?
Remi2236:
Ca Roule depuis oct 2021?
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
Modifié le 19 févr. 2022 à 07:43
Modifié le 19 févr. 2022 à 07:43
Bonjour,
Deux remarques pour le fichier que vous avez mis a dispo
le code n'est pas au bon endroit. Vous l'avez mis dans ThisWorkbook ald VBA de la feuil1
Vous n'avez besoin de votre fonction que de la ligne 1 a 6 pas pour la suite.
Si c'est seulement un exemple et que dans votre fichier les cellules fusionnées sont dispersées, y a peut-être moyen de reconnaitre des cellules fusionnées
Suite:
Detecter cellule appartient a une fusion:
Apres recherche: ex
Deux remarques pour le fichier que vous avez mis a dispo
le code n'est pas au bon endroit. Vous l'avez mis dans ThisWorkbook ald VBA de la feuil1
Vous n'avez besoin de votre fonction que de la ligne 1 a 6 pas pour la suite.
Si c'est seulement un exemple et que dans votre fichier les cellules fusionnées sont dispersées, y a peut-être moyen de reconnaitre des cellules fusionnées
Suite:
Detecter cellule appartient a une fusion:
Apres recherche: ex
Cells(1,1)Mergcellsdonne True si fait partie d'une fusion et False si non
Remi2236
Messages postés
86
Date d'inscription
jeudi 10 septembre 2015
Statut
Membre
Dernière intervention
22 mai 2024
1
20 févr. 2022 à 21:25
20 févr. 2022 à 21:25
Bonjour f894009,
Très bien merci et toi depuis le temps ?
Tu vas peut-être pouvoir m'aider. C'est encore pour mon planning. Après l'avoir testé j'avais 2, 3 petites choses que je voulais modifier mais bon...je n'ai pas les connaissances nécessaires !
1) je voulais que quand je clique sur une ligne de mon planning, ça mette en surbrillance (vert dans l'exemple) le nom du personnel (sur l'exemple joint je les ai nommé 1,2,3,4,5... pour une question d'anonymat. Mais le souci c'est que j'ai des cellules fusionnées et je ne sais pas comment faire pour que la cellule fusionnée se mette en surbrillance.
2) C'est un peu long de se déplacer en scrollant avec la barre en bas. J'ai fait un Userform que je voulais utiliser pour scroller de semaine en semaine et que ça prenne en compte là où se trouve l'activecell. C'est à dire que si je suis au 2 janvier avec l'acticell, quand je clique sur le userform pour aller à droite ça prenne en compte qu'on est en semaine 1, et que si je suis en semaine 10 avec l'activecell, en appuyant sur le bouton de l'userform, ça ne me redéplace pas en semaine 2 en pensant que j'étais en semaine 1. Je ne sais pas si c'est très clair, manque de sommeil lol.
3) J'aurais aimé avoir un moyen de faire une remise à zéro du tableau, de pouvoir effacer toutes les shapes et les commentaire pour pouvoir le réutiliser en fin d'année.
4) J'aurais aimé que en ouvrant le tableau, cela me mette la colonne avec la date du jour à gauche de l'écran. Par exemple, si on est le 20 février, que ça me mette le 20 février à gauche de l'écran.
5) Enfin, quand je fais clic droit sur une cellule, ça ouvre l'userform pour définir l'activité du jour, mais en sauvegardant, je voudrais que si il n'y a pas de commentaire, ça enregistre quand même l'activité mais sans commentaire, mais que si il y en a, ça enregistre comme actuellement l'activité et que ça affiche le commentaire.
Ca fait beaucoup d'infos désolé. Mais si tu peux m'aider avec ça, ce serait super ! Comme tu connais un peu le fichier. Il n'y a pas d'urgence.
Merci en tout cas par avance.
Cdlt,
Rémi
Très bien merci et toi depuis le temps ?
Tu vas peut-être pouvoir m'aider. C'est encore pour mon planning. Après l'avoir testé j'avais 2, 3 petites choses que je voulais modifier mais bon...je n'ai pas les connaissances nécessaires !
1) je voulais que quand je clique sur une ligne de mon planning, ça mette en surbrillance (vert dans l'exemple) le nom du personnel (sur l'exemple joint je les ai nommé 1,2,3,4,5... pour une question d'anonymat. Mais le souci c'est que j'ai des cellules fusionnées et je ne sais pas comment faire pour que la cellule fusionnée se mette en surbrillance.
2) C'est un peu long de se déplacer en scrollant avec la barre en bas. J'ai fait un Userform que je voulais utiliser pour scroller de semaine en semaine et que ça prenne en compte là où se trouve l'activecell. C'est à dire que si je suis au 2 janvier avec l'acticell, quand je clique sur le userform pour aller à droite ça prenne en compte qu'on est en semaine 1, et que si je suis en semaine 10 avec l'activecell, en appuyant sur le bouton de l'userform, ça ne me redéplace pas en semaine 2 en pensant que j'étais en semaine 1. Je ne sais pas si c'est très clair, manque de sommeil lol.
3) J'aurais aimé avoir un moyen de faire une remise à zéro du tableau, de pouvoir effacer toutes les shapes et les commentaire pour pouvoir le réutiliser en fin d'année.
4) J'aurais aimé que en ouvrant le tableau, cela me mette la colonne avec la date du jour à gauche de l'écran. Par exemple, si on est le 20 février, que ça me mette le 20 février à gauche de l'écran.
5) Enfin, quand je fais clic droit sur une cellule, ça ouvre l'userform pour définir l'activité du jour, mais en sauvegardant, je voudrais que si il n'y a pas de commentaire, ça enregistre quand même l'activité mais sans commentaire, mais que si il y en a, ça enregistre comme actuellement l'activité et que ça affiche le commentaire.
Ca fait beaucoup d'infos désolé. Mais si tu peux m'aider avec ça, ce serait super ! Comme tu connais un peu le fichier. Il n'y a pas d'urgence.
Merci en tout cas par avance.
Cdlt,
Rémi
Remi2236
Messages postés
86
Date d'inscription
jeudi 10 septembre 2015
Statut
Membre
Dernière intervention
22 mai 2024
1
20 févr. 2022 à 21:26
20 févr. 2022 à 21:26
Avec le fichier c'est mieux lol
https://www.cjoint.com/c/LBuumKNgJyQ
https://www.cjoint.com/c/LBuumKNgJyQ
Remi2236
Messages postés
86
Date d'inscription
jeudi 10 septembre 2015
Statut
Membre
Dernière intervention
22 mai 2024
1
20 févr. 2022 à 21:38
20 févr. 2022 à 21:38
Et le mdp : 2236
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
Modifié le 21 févr. 2022 à 07:53
Modifié le 21 févr. 2022 à 07:53
Bonjour,
Ca roule pour le moment.
Dans mon post, j'ai mis l'essentiel de la méthode. Mais vu que vous etes a la ramasse, je vous fais ca.
Vous pensez quand meme a vous former un peu meme si le cas present, ca ne coule pas de source.
Avez vous fait quelques recherches?
Si oui, c'est surement l'adaptation qui vous coince.
Je recupere le fichier et regarde la chose
Suite:
d'infos désolé
Pauvre de nous.
Pouvez me la refaire pour le 2
Ca roule pour le moment.
Dans mon post, j'ai mis l'essentiel de la méthode. Mais vu que vous etes a la ramasse, je vous fais ca.
Vous pensez quand meme a vous former un peu meme si le cas present, ca ne coule pas de source.
Avez vous fait quelques recherches?
Si oui, c'est surement l'adaptation qui vous coince.
Je recupere le fichier et regarde la chose
Suite:
d'infos désolé
Pauvre de nous.
Pouvez me la refaire pour le 2
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
21 févr. 2022 à 11:39
21 févr. 2022 à 11:39
Suite:
1-3-4-5 fait
1-3-4-5 fait
Remi2236
Messages postés
86
Date d'inscription
jeudi 10 septembre 2015
Statut
Membre
Dernière intervention
22 mai 2024
1
21 févr. 2022 à 13:49
21 févr. 2022 à 13:49
Bonjour,
Tant mieux si vous vous portez bien vu la situation sanitaire actuelle.
Pour le 2, j'ai fait un Userform avec deux boutons qui apparait au lancement du fichier, et j'aimerais qu'ils me permettent de me déplacer de semaine en semaine mais en fonction de la position de l'activecell.
Par exemple, si mon activecell est au 15 mars (c'est en semaine 11), si j'appuie sur le bouton de droite, je voudrais que ça me déplace à la semaine 12, encore une fois en semaine 13 etc....et si j'appuie sur le bouton de gauche, que ça me déplace à la semaine 10, puis 9, etc...
Je ne sais pas si je suis plus clair.
Cdlt,
rémi
Tant mieux si vous vous portez bien vu la situation sanitaire actuelle.
Pour le 2, j'ai fait un Userform avec deux boutons qui apparait au lancement du fichier, et j'aimerais qu'ils me permettent de me déplacer de semaine en semaine mais en fonction de la position de l'activecell.
Par exemple, si mon activecell est au 15 mars (c'est en semaine 11), si j'appuie sur le bouton de droite, je voudrais que ça me déplace à la semaine 12, encore une fois en semaine 13 etc....et si j'appuie sur le bouton de gauche, que ça me déplace à la semaine 10, puis 9, etc...
Je ne sais pas si je suis plus clair.
Cdlt,
rémi
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
21 févr. 2022 à 15:08
21 févr. 2022 à 15:08
Re,
Je ne sais pas si je suis plus clair.
On peu plus clair. Pourquoi mois precedent/suivant alors que vous voulez des semaines?
Deplacement au premier jour de la semaine ou ?
Je ne sais pas si je suis plus clair.
On peu plus clair. Pourquoi mois precedent/suivant alors que vous voulez des semaines?
Deplacement au premier jour de la semaine ou ?
Remi2236
Messages postés
86
Date d'inscription
jeudi 10 septembre 2015
Statut
Membre
Dernière intervention
22 mai 2024
1
21 févr. 2022 à 16:01
21 févr. 2022 à 16:01
Re,
C'est bien les semaines que je veux, semaines suivantes/précédentes
Le du top serait que l'activecell reste sur la ligne de la personne sur laquelle elle était avant de cliquer sur le bouton, et que ça me déplace l'activecell au premier jour de la semaine suivante/precedente
Cdlt
Rémi
C'est bien les semaines que je veux, semaines suivantes/précédentes
Le du top serait que l'activecell reste sur la ligne de la personne sur laquelle elle était avant de cliquer sur le bouton, et que ça me déplace l'activecell au premier jour de la semaine suivante/precedente
Cdlt
Rémi
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
21 févr. 2022 à 16:04
21 févr. 2022 à 16:04
Re,
Ok
Ok
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
23 févr. 2022 à 17:57
23 févr. 2022 à 17:57
Bonjour,
Fichier modifie: https://www.cjoint.com/c/LBxq4zSzOhf
Fichier modifie: https://www.cjoint.com/c/LBxq4zSzOhf
Remi2236
Messages postés
86
Date d'inscription
jeudi 10 septembre 2015
Statut
Membre
Dernière intervention
22 mai 2024
1
24 févr. 2022 à 10:46
24 févr. 2022 à 10:46
Bonjour,
Merci ! Je teste ça chez moi en rentrant.
Cordialement,
Rémi
Merci ! Je teste ça chez moi en rentrant.
Cordialement,
Rémi