Problème avec Private sub
Résolu/Fermé
Michaelv78800
Messages postés
11
Date d'inscription
lundi 21 juillet 2014
Statut
Membre
Dernière intervention
4 août 2014
-
Modifié par pijaku le 29/07/2014 à 12:32
Michaelv78800 Messages postés 11 Date d'inscription lundi 21 juillet 2014 Statut Membre Dernière intervention 4 août 2014 - 4 août 2014 à 20:36
Michaelv78800 Messages postés 11 Date d'inscription lundi 21 juillet 2014 Statut Membre Dernière intervention 4 août 2014 - 4 août 2014 à 20:36
A voir également:
- Private proxy wingate.me
- Navigation in private - Guide
- Proxy psn wingate.me ✓ - Forum Virus
- Probleme Proxy - Forum Microsoft Edge / Internet Explorer
- Yggtorrent proxy - Accueil - Outils
- Proxy ,garmin - Forum logiciel systeme
9 réponses
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
1 août 2014 à 13:10
1 août 2014 à 13:10
Bonjour,
C'est dans le module de la feuille concernée qu'il faut mettre le code, pas dans Module1.
Sinon dépose ce que tu as fait sur cjoint.com et colle ici le lien fourni.
eric
C'est dans le module de la feuille concernée qu'il faut mettre le code, pas dans Module1.
Sinon dépose ce que tu as fait sur cjoint.com et colle ici le lien fourni.
eric
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
29 juil. 2014 à 12:38
29 juil. 2014 à 12:38
Bonjour,
Placez vous sur la feuille concernée : Feuil6 normalement.
Clic droit sur l'onglet de cette feuille / Visualiser le code
Copier/coller ce code:
Placez vous sur la feuille concernée : Feuil6 normalement.
Clic droit sur l'onglet de cette feuille / Visualiser le code
Copier/coller ce code:
Private Sub Worksheet_Change(ByVal Target As Range)
' Vérification du changement de valeur d'une cellule de la plage A14:A52
If Not Application.Intersect(Target, Range("A14:A52")) Is Nothing Then
' Exécution de la macro "Date_quadriennale"
Date_quadriennale
End If
End Sub
'------------------------------------------------------------------------------------------------------------
Sub Date_quadriennale()
' Plage de recherche et condition
Dim PlageRecherche As Range
With ActiveSheet
Set PlageRecherche = .Range("A14:B52").Find(what:="PLG 1", LookIn:=xlValues, lookat:=xlWhole)
End With
' Ouverture boîte de dialogue
If Not PlageRecherche Is Nothing Then
variable = InputBox("DATE DE VISITE QUADRIENNALE (date d'obtention + 4 ans) ?")
' Cellule cible
With Feuil5
.Range("d35").Value = variable
End With
End If
End Sub
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
1 août 2014 à 00:05
1 août 2014 à 00:05
Bonjour,
une remarque en plus :
tu utilises le codename des feuilles et non le nom des feuilles.
C'est un peu risqué si tu ne sais pas très bien ce que tu fais.
Worksheets("Feuil1") peut très bien avoir pour codename Feuil2.
Utilise plutôt la notation Worksheets("nom_de_la_feuille")
eric
une remarque en plus :
tu utilises le codename des feuilles et non le nom des feuilles.
C'est un peu risqué si tu ne sais pas très bien ce que tu fais.
Worksheets("Feuil1") peut très bien avoir pour codename Feuil2.
Utilise plutôt la notation Worksheets("nom_de_la_feuille")
eric
Michaelv78800
Messages postés
11
Date d'inscription
lundi 21 juillet 2014
Statut
Membre
Dernière intervention
4 août 2014
1 août 2014 à 11:12
1 août 2014 à 11:12
bonjour,
J'ai essaye le code mais rien ne se passe..........
J'ai essaye le code mais rien ne se passe..........
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
sipherion
Messages postés
1809
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
19 décembre 2016
285
1 août 2014 à 11:23
1 août 2014 à 11:23
Bonjour,
As tu essaye de placer un Call avant le nom de ta macro ?
(Message sans accent pour cause de "corps vide")
As tu essaye de placer un Call avant le nom de ta macro ?
Call Date_quadriennale
(Message sans accent pour cause de "corps vide")
Michaelv78800
Messages postés
11
Date d'inscription
lundi 21 juillet 2014
Statut
Membre
Dernière intervention
4 août 2014
1 août 2014 à 17:04
1 août 2014 à 17:04
Je viens d'essayer.... pas mieux
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
1 août 2014 à 18:33
1 août 2014 à 18:33
tu as lu ça ?
Michaelv78800
Messages postés
11
Date d'inscription
lundi 21 juillet 2014
Statut
Membre
Dernière intervention
4 août 2014
4 août 2014 à 11:44
4 août 2014 à 11:44
j'ai effectivement mis la macro danhs le module de la feuille mais sois je l'ai mal fait sois... je ne sais pas voici le fichier en piece jointe
https://www.cjoint.com/?DHelRuOzjQB
https://www.cjoint.com/?DHelRuOzjQB
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
4 août 2014 à 11:56
4 août 2014 à 11:56
Bonjour,
Essaie ceci:
C'est le même code que pijaku, j'ai déclaré la variable variable (c'est un drôle de choix, mais enfin) et With [Feuil5]
Cela fonctionne très bien
Essaie ceci:
Option Explicit Private Sub Worksheet_SelectionChange(ByVal Target As Range) ' Vérification du changement de valeur d'une cellule de la plage A14:A52 If Not Application.Intersect(Target, Range("A14:A52")) Is Nothing Then ' Exécution de la macro "Date_quadriennale" Date_quadriennale End If End Sub Sub Date_quadriennale() Dim variable As String ' Plage de recherche et condition Dim PlageRecherche As Range With ActiveSheet Set PlageRecherche = .Range("A14:B52").Find(what:="PLG 1", LookIn:=xlValues, lookat:=xlWhole) End With ' Ouverture boîte de dialogue If Not PlageRecherche Is Nothing Then variable = InputBox("DATE DE VISITE QUADRIENNALE (date d'obtention + 4 ans) ?") ' Cellule cible With [Feuil5] .Range("d35").Value = variable End With End If End Sub
C'est le même code que pijaku, j'ai déclaré la variable variable (c'est un drôle de choix, mais enfin) et With [Feuil5]
Cela fonctionne très bien
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
Modifié par pijaku le 4/08/2014 à 12:02
Modifié par pijaku le 4/08/2014 à 12:02
Bonjour Le Pivert,
Le souci du Selection_Change est que si l'utilisateur change de cellule en utilisant la touche Tab, Target va en colonne D...
_Change ne peux pas fonctionner car les modifications sont faites sur des listes de validation de données.
Pour pallier à cela, il "faudrait" passer par un nouvel onglet masqué : http://www.excelabo.net/excel/value_change
De plus, le code n'était pas dans la feuille concernée...
Le souci du Selection_Change est que si l'utilisateur change de cellule en utilisant la touche Tab, Target va en colonne D...
_Change ne peux pas fonctionner car les modifications sont faites sur des listes de validation de données.
Pour pallier à cela, il "faudrait" passer par un nouvel onglet masqué : http://www.excelabo.net/excel/value_change
De plus, le code n'était pas dans la feuille concernée...
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
4 août 2014 à 12:10
4 août 2014 à 12:10
Rectification
pijaku, je n'avais pas fait attention à l'évènement:
Private Sub Worksheet_Change(ByVal Target As Range)
Cela fonctionne
Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) ' Vérification du changement de valeur d'une cellule de la plage A14:A52 If Not Application.Intersect(Target, Range("A14:A52")) Is Nothing Then ' Exécution de la macro "Date_quadriennale" Date_quadriennale End If End Sub Sub Date_quadriennale() Dim variable As String ' Plage de recherche et condition Dim PlageRecherche As Range With ActiveSheet Set PlageRecherche = .Range("A14:B52").Find(what:="PLG 1", LookIn:=xlValues, lookat:=xlWhole) End With ' Ouverture boîte de dialogue If Not PlageRecherche Is Nothing Then variable = InputBox("DATE DE VISITE QUADRIENNALE (date d'obtention + 4 ans) ?") ' Cellule cible Sheets("Feuil5").Range("d35").Value = variable End If End Sub
pijaku, je n'avais pas fait attention à l'évènement:
Private Sub Worksheet_Change(ByVal Target As Range)
Cela fonctionne
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
4 août 2014 à 12:15
4 août 2014 à 12:15
Tu as raison. Excuse moi, j'étais persuadé que l'événement Change n'était pas déclenché par une modification d'une cellule par validation de liste...
A+
A+
Michaelv78800
Messages postés
11
Date d'inscription
lundi 21 juillet 2014
Statut
Membre
Dernière intervention
4 août 2014
4 août 2014 à 20:36
4 août 2014 à 20:36
Merci encore a vous pour votre aide.
pour info j'ai changé la fin de ta macro cs_Le Pivert :
Sheets("Feuil5").Range("d35").Value = variable
me donne une erreur du coup j'ai repris ton premier code a savoir :
With [Feuil5]
.Range("d35").Value = variable
End With
merci aussi pour les explications qui permettent de progresser et d'apprendre, c'est ma deuxieme macro et j'avoue que ce n'est pas tjrs evident de comprendre le language des initiés.
a bientot... et bonne vacances.
pour info j'ai changé la fin de ta macro cs_Le Pivert :
Sheets("Feuil5").Range("d35").Value = variable
me donne une erreur du coup j'ai repris ton premier code a savoir :
With [Feuil5]
.Range("d35").Value = variable
End With
merci aussi pour les explications qui permettent de progresser et d'apprendre, c'est ma deuxieme macro et j'avoue que ce n'est pas tjrs evident de comprendre le language des initiés.
a bientot... et bonne vacances.