Macro selection change
Enilorac29
-
pijaku Messages postés 13513 Statut Modérateur -
pijaku Messages postés 13513 Statut Modérateur -
Bonjour,
J'essaie de créer une macro en utilisant le code suivant :
Cependant, ça ne fonctionne pas si je "nomme" pas mon macro et lorsque je le nomme ça me crée un nouvelle ligne sans tenir compte du code que j'ai mis.
Je n'arrive pas à créer la macro événementielle du tout.
J'y arrive cependant en gardant que la partie selection.
Quelqu'un peut m'aider?
Merci!
Cordialement
J'essaie de créer une macro en utilisant le code suivant :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, [AC15]) Is Nothing Then
If sheets ("Claim").Range.Value = "01" Then
Sheets ("Claim").Rows("56:62".EntireRow.Hidden = False
Sheets ("Claim").Rows("17:55".EntireRow.Hidden = True
Sheets ("Claim").Rows("63:412".EntireRow.Hidden = False
'le choix continue selon le choix de la liste déroulante de ac15
End if
End Sub
Cependant, ça ne fonctionne pas si je "nomme" pas mon macro et lorsque je le nomme ça me crée un nouvelle ligne sans tenir compte du code que j'ai mis.
Je n'arrive pas à créer la macro événementielle du tout.
J'y arrive cependant en gardant que la partie selection.
Quelqu'un peut m'aider?
Merci!
Cordialement
Configuration: Android / Chrome 71.0.3578.141
A voir également:
- Selection change vba
- Change dns - Guide
- Change qwerty to azerty - Guide
- Heure de connexion whatsapp qui ne changé pas - Accueil - WhatsApp
- Facebook piraté et adresse email changé - Guide
- Excel compter cellule couleur sans vba - Guide
4 réponses
bonjour,
en début de code j'aurai ajouté cette ligne
Sheets("Claim").Rows("17:412").EntireRow.Hidden = False
en début de code j'aurai ajouté cette ligne
Sheets("Claim").Rows("17:412").EntireRow.Hidden = False
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, [AC15]) Is Nothing Then
Sheets("Claim").Rows("17:412").EntireRow.Hidden = False
If Target.Value = "01" Then
Sheets("Claim").Rows("56:412").EntireRow.Hidden = False
Sheets("Claim").Rows("17:55").EntireRow.Hidden = True
End If
End If
End Sub
Bonjour,
1- le code donné ici est incomplet,
2- Merci d'utiliser la coloration syntaxique dans vos messages et commentaires :
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
3- Une liste déroulante de type "validations de données" ne déclenche pas l'événement WorkSheet_Change.
Il vous faut donc, soit un autre événement (WorkSheet_SelectionChange), soit une autre façon de procéder (bouton de commande / remplacement de la liste de validation par une ComboBox / etc...)
1- le code donné ici est incomplet,
2- Merci d'utiliser la coloration syntaxique dans vos messages et commentaires :
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
3- Une liste déroulante de type "validations de données" ne déclenche pas l'événement WorkSheet_Change.
Il vous faut donc, soit un autre événement (WorkSheet_SelectionChange), soit une autre façon de procéder (bouton de commande / remplacement de la liste de validation par une ComboBox / etc...)
Bonjour
J'ai aussi essayé de changer en utilisant le worksheet_selectionchange ça ne fonctionne pas...
Systématiquement on me demande de nommer mon macro et celui que j'ai créé n'est pas pris en compte.
Je ne connais pas beaucoup VBA et suis complètement débutante à ce sujet...
Merci de votre retour
Cordialement
J'ai aussi essayé de changer en utilisant le worksheet_selectionchange ça ne fonctionne pas...
Systématiquement on me demande de nommer mon macro et celui que j'ai créé n'est pas pris en compte.
Je ne connais pas beaucoup VBA et suis complètement débutante à ce sujet...
Merci de votre retour
Cordialement
Bonjour à tout ce beau monde excellien
Il serait utile de voir la classeur...
Il serait utile de voir la classeur...
Mettre le classeur sans données confidentielles en pièce jointe sur
https://mon-partage.fr
Dans lien de téléchargement
faire un clic droit- copier l’adresse du lien et le coller dans votre message en cours sur ccm
Re-
Regarde ce classeur :
https://www.cjoint.com/c/JFshccQm5gn
Il contient cette macro, correctement installée dans le bon module :
Regarde ce classeur :
https://www.cjoint.com/c/JFshccQm5gn
Il contient cette macro, correctement installée dans le bon module :
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("AC15")) Is Nothing Then
If Target.Cells.Count = 1 Then
AfficheTout
Select Case Target.Value
Case ""
Case "1"
Masque "17:55"
Case "2"
Masque "56:80"
Case "3"
Masque "17:50,56:80"
Case "4"
Masque "17,19:20,55:56"
Case "5"
Masque "17:25"
Case "6"
Masque "54:55"
Case Else
MsgBox "Saisie interdite"
Target.Value = ""
End Select
End If
End If
End Sub
Private Sub AfficheTout()
Me.Rows("17:5000").EntireRow.Hidden = False
End Sub
Private Sub Masque(Lignes As String)
If InStr(1, Lignes, ",") > 0 Then
Dim i As Integer, Ligne As Variant
Ligne = Split(Lignes, ",")
For i = LBound(Ligne) To UBound(Ligne)
Me.Rows(Ligne(i)).EntireRow.Hidden = True
Next i
Else
Me.Rows(Lignes).EntireRow.Hidden = True
End If
End Sub
tu as oublié d'enlever Sheets("Claim").Rows("56:412").EntireRow.Hidden = False devenu inutile ;-)
eric
Oui exact mon ami, merci de la correction constructive
A+
Ça ne se fait pas au moment de la sélection.
Aussi quand je crée le macro worksheet selection change, lorsque je fais exécuter sur VBA, une fenêtre s'ouvre pour enregistrer un nom à cette macro... Si je mets un nom, ça crée un nouvelle macro...
Qu'est-ce que je fais d'erroné?
Merci.
Dans un module standard?
Dans le module de la feuille concernée? (=> clic droit sur l'onglet concerné / visualiser le code)
Comme je disais je suis vraiment plus que débutante.