EXCEL --> pb cellule sélectionnée coloriée
Résolu/Fermé
yannperceval1
Messages postés
6
Date d'inscription
mardi 18 septembre 2007
Statut
Membre
Dernière intervention
20 septembre 2007
-
19 sept. 2007 à 09:03
pecheur67 Messages postés 5 Date d'inscription samedi 9 février 2008 Statut Membre Dernière intervention 10 mai 2009 - 5 avril 2009 à 20:21
pecheur67 Messages postés 5 Date d'inscription samedi 9 février 2008 Statut Membre Dernière intervention 10 mai 2009 - 5 avril 2009 à 20:21
A voir également:
- EXCEL --> pb cellule sélectionnée coloriée
- Excel cellule couleur si condition texte - Guide
- Liste déroulante excel - Guide
- Aller à la ligne dans une cellule excel - Guide
- Proteger cellule excel - Guide
- Formule excel pour additionner plusieurs cellules - Guide
9 réponses
Katarinas
Messages postés
26
Date d'inscription
jeudi 13 septembre 2007
Statut
Membre
Dernière intervention
8 février 2008
2
19 sept. 2007 à 09:37
19 sept. 2007 à 09:37
Si tu veu que ta macro soit activé a chaque changement que tu fais sur ta feuille alors il te suffis de lancer ta macro a partir de Worksheet_SelectionChange
Cela fonctionne il ?
Cela fonctionne il ?
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 257
19 sept. 2007 à 10:33
19 sept. 2007 à 10:33
Bonjour,
If Target.Address = "$C$1" Then..
eric
If Target.Address = "$C$1" Then..
eric
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 257
19 sept. 2007 à 11:02
19 sept. 2007 à 11:02
et si tu veux faire plus court:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
[B1:B9] = "FAUX"
Set i = Application.Intersect(Range("C1:C9"), Target)
If i Is Nothing Then
'la cellule n'appartient pas à la zone C1:C9
Else
Target.Offset(0, -1) = "VRAI"
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
[B1:B9] = "FAUX"
Set i = Application.Intersect(Range("C1:C9"), Target)
If i Is Nothing Then
'la cellule n'appartient pas à la zone C1:C9
Else
Target.Offset(0, -1) = "VRAI"
End If
End Sub
yannperceval1
Messages postés
6
Date d'inscription
mardi 18 septembre 2007
Statut
Membre
Dernière intervention
20 septembre 2007
19 sept. 2007 à 18:37
19 sept. 2007 à 18:37
merci eriiic mais ca ne marche pas...
enfin Worksheet_SelectionChange ne marche pas (les cellules B1 à B9 restent vides)
c'est ca qui me pose problème: je ne comprend pas pourquoi
mon code (bien que long) ne me pose pas de problème. en fait je pensais meme à le mettre dans une autre macro
Pour n'importe quel code, ca ne marche pas
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
[B1:B9] = "FAUX"
Application.run("macro2")
End If
End Sub
Sub macro2
'mon code
MsgBox "Ca marche"
End Sub
enfin Worksheet_SelectionChange ne marche pas (les cellules B1 à B9 restent vides)
c'est ca qui me pose problème: je ne comprend pas pourquoi
mon code (bien que long) ne me pose pas de problème. en fait je pensais meme à le mettre dans une autre macro
Pour n'importe quel code, ca ne marche pas
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
[B1:B9] = "FAUX"
Application.run("macro2")
End If
End Sub
Sub macro2
'mon code
MsgBox "Ca marche"
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
yannperceval1
Messages postés
6
Date d'inscription
mardi 18 septembre 2007
Statut
Membre
Dernière intervention
20 septembre 2007
19 sept. 2007 à 18:59
19 sept. 2007 à 18:59
Je viens de m'apercevoir que Private sub ne démarre pas tout seul quand on ouvre le classeur excel.
si je met
Private Sub tedf()
MsgBox "Ca marche."
End Sub
ca marche pas
par contre, si je mets
Private Sub auto_open()
MsgBox "Ca marche."
End Sub
ca fonctionne. est-ce que c'est pour la meme raison que Private Sub Worksheet_SelectionChange ne marche pas.
ne faudrait-il pas ajouter un auto_open à Private Sub Worksheet_SelectionChange? ......ou autre.
si je met
Private Sub tedf()
MsgBox "Ca marche."
End Sub
ca marche pas
par contre, si je mets
Private Sub auto_open()
MsgBox "Ca marche."
End Sub
ca fonctionne. est-ce que c'est pour la meme raison que Private Sub Worksheet_SelectionChange ne marche pas.
ne faudrait-il pas ajouter un auto_open à Private Sub Worksheet_SelectionChange? ......ou autre.
yannperceval1
Messages postés
6
Date d'inscription
mardi 18 septembre 2007
Statut
Membre
Dernière intervention
20 septembre 2007
20 sept. 2007 à 15:42
20 sept. 2007 à 15:42
J'ai trouver. en fait je n'avais pas écrit Private Sub Worksheet_SelectionChange dans ThisWorkbook.
Pour les débutants comme moi, qui n'ont pas encore trouver la solution, ceci peut les interesser.
Il faut faire Alt+F11, puis explorateur de projet (aller dans ThisWorkbook). utiliser l'évennement voulu (répertorié dans explorateur d'objet)
petite adresse utile: pb private sub worksheet selectionchange
Merci
Pour les débutants comme moi, qui n'ont pas encore trouver la solution, ceci peut les interesser.
Il faut faire Alt+F11, puis explorateur de projet (aller dans ThisWorkbook). utiliser l'évennement voulu (répertorié dans explorateur d'objet)
petite adresse utile: pb private sub worksheet selectionchange
Merci
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 257
20 sept. 2007 à 16:32
20 sept. 2007 à 16:32
Dans la feuille (worksheet) plutôt pour un tel évènement. A mon avis si ta macro marche c'est qu'elle y est aussi présente.
Pour voir les évènement d'une feuille le plus simple est de faire un clic droit sur le nom de l'onglet en bas et de choisir "visualiser le code".
VBA s'ouvrira directement dans la bonne fenetre de code.
Dans la liste deroulante de gauche choisir "worksheet", la liste deroulante de droite contiendra automatiquement tous les evenements gérables.
Afficher maintenant "ThisWhorkbook" et là on peut voir les evenements d'un classeur de la même manière.
eric
Pour voir les évènement d'une feuille le plus simple est de faire un clic droit sur le nom de l'onglet en bas et de choisir "visualiser le code".
VBA s'ouvrira directement dans la bonne fenetre de code.
Dans la liste deroulante de gauche choisir "worksheet", la liste deroulante de droite contiendra automatiquement tous les evenements gérables.
Afficher maintenant "ThisWhorkbook" et là on peut voir les evenements d'un classeur de la même manière.
eric
Papou93
Messages postés
146
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
5 juin 2012
59
20 sept. 2007 à 18:03
20 sept. 2007 à 18:03
Bonjour yanneperceval1,
Voici une routine à écrire dans un module de code :
Sub CoulFond(Plage As Range)
' Réinitialise la couleur de fond de la feulle
ActiveSheet.Cells.Interior.ColorIndex = xlAutomatic
' Balaie la plage nommée
For Each cel In [Plage].Cells
If cel.Address = ActiveCell.Address Then
cel.Interior.ColorIndex = 6
End If
Next
End Sub
Il ne te reste plus qu'à nommer un groupe de cellules (avec un nom différent pour chaque feuille), et à faire appel à cette procédure dans l'événement 'SelectionChange' de chaque feuille. Exemple :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
CoulFond [maplage]
End Sub
Dans cet exemple, 'maplage' est le nom du groupe de cellules; cette plage peut être constituée de colonnes contigües ou non contigües. (ColorIndex = 6" définit la couleur de fond à Jaune.
Espérant t'avoir aidé.
Cordialement.
Voici une routine à écrire dans un module de code :
Sub CoulFond(Plage As Range)
' Réinitialise la couleur de fond de la feulle
ActiveSheet.Cells.Interior.ColorIndex = xlAutomatic
' Balaie la plage nommée
For Each cel In [Plage].Cells
If cel.Address = ActiveCell.Address Then
cel.Interior.ColorIndex = 6
End If
Next
End Sub
Il ne te reste plus qu'à nommer un groupe de cellules (avec un nom différent pour chaque feuille), et à faire appel à cette procédure dans l'événement 'SelectionChange' de chaque feuille. Exemple :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
CoulFond [maplage]
End Sub
Dans cet exemple, 'maplage' est le nom du groupe de cellules; cette plage peut être constituée de colonnes contigües ou non contigües. (ColorIndex = 6" définit la couleur de fond à Jaune.
Espérant t'avoir aidé.
Cordialement.
pecheur67
Messages postés
5
Date d'inscription
samedi 9 février 2008
Statut
Membre
Dernière intervention
10 mai 2009
1
5 avril 2009 à 20:21
5 avril 2009 à 20:21
probleme je n'arrive pas à travailler avec excel car à chaque fois ke j'ouvre classeur je selectionne une cellule plusieurs selectionnes comment faire pour rendre feuille excel normale