Bonjour,
Je te suggère ceci :
A ) Ce code doit être placé dans le module de la feuille où l'actio n se
déroule.
B ) Place ta liste dans la "feuil4" (celle que tu veux) dont la seule
fonction est
de conserver la liste de validation en colonne A, A1 à A13
Copie la plage A1:A13 vers la colonne D1:D13 de la feuil4
Assigne à la plage "D1:D13" le nom liste_de_charge
C ) Si le nom de la feuille choisie est différent de "Feuil4", n'oublie pas
de
modifier le nom dans la macro.
D ) Tu masques cette feuille comme ceci :
worksheets("Feuil4").Visible=xlSheetVeryHidden
Cela rendra la feuille inaccessible par les usagers.
'--------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, Sh As Worksheet, C As Range, A As Variant
Set Sh = Worksheets("Feuil4") 'à définir
With Me
Set Rg = Range("D30,D60,D90,D120,D150,D180,D210")
End With
If Not Intersect(Target, Rg) Is Nothing Then
Application.EnableEvents = False
With Sh
.Range("A1:A" & .Range("A65536").End(xlUp).Row).Copy .Range("D1")
End With
With Sh
With .Range("D2:D" & .Range("D65536").End(xlUp).Row)
For Each C In Rg
A = Application.Match(C, .Cells, 0)
If IsNumeric(A) Then
.Item(A, 1).Delete xlUp
Else
Err.Clear
End If
Next
.Name = "liste_de_charge"
End With
End With
Application.EnableEvents = True
End If
End Sub
'--------------------------------------------
Bonjour,
Je te suggère ceci :
A ) Ce code doit être placé dans le module de la feuille où l'actio n se
déroule.
B ) Place ta liste dans la "feuil4" (celle que tu veux) dont la seule
fonction est
de conserver la liste de validation en colonne A, A1 à A13
Copie la plage A1:A13 vers la colonne D1:D13 de la feuil4
Assigne à la plage "D1:D13" le nom liste_de_charge
C ) Si le nom de la feuille choisie est différent de "Feuil4", n'oublie pas
de
modifier le nom dans la macro.
D ) Tu masques cette feuille comme ceci :
worksheets("Feuil4").Visible=xlSheetVeryHidden
Cela rendra la feuille inaccessible par les usagers.
'--------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, Sh As Worksheet, C As Range, A As Variant
Set Sh = Worksheets("Feuil4") 'à définir
With Me
Set Rg = Range("D30,D60,D90,D120,D150,D180,D210")
End With
If Not Intersect(Target, Rg) Is Nothing Then
Application.EnableEvents = False
With Sh
.Range("A1:A" & .Range("A65536").End(xlUp).Row).Copy .Range("D1")
End With
With Sh
With .Range("D2:D" & .Range("D65536").End(xlUp).Row)
For Each C In Rg
A = Application.Match(C, .Cells, 0)
If IsNumeric(A) Then
.Item(A, 1).Delete xlUp
Else
Err.Clear
End If
Next
.Name = "liste_de_charge"
End With
End With
Application.EnableEvents = True
End If
End Sub
'--------------------------------------------
Bonjour,
Je te suggère ceci :
A ) Ce code doit être placé dans le module de la feuille où l'actio n se
déroule.
B ) Place ta liste dans la "feuil4" (celle que tu veux) dont la seule
fonction est
de conserver la liste de validation en colonne A, A1 à A13
Copie la plage A1:A13 vers la colonne D1:D13 de la feuil4
Assigne à la plage "D1:D13" le nom liste_de_charge
C ) Si le nom de la feuille choisie est différent de "Feuil4", n'oublie pas
de
modifier le nom dans la macro.
D ) Tu masques cette feuille comme ceci :
worksheets("Feuil4").Visible=xlSheetVeryHidden
Cela rendra la feuille inaccessible par les usagers.
'--------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, Sh As Worksheet, C As Range, A As Variant
Set Sh = Worksheets("Feuil4") 'à définir
With Me
Set Rg = Range("D30,D60,D90,D120,D150,D180,D210")
End With
If Not Intersect(Target, Rg) Is Nothing Then
Application.EnableEvents = False
With Sh
.Range("A1:A" & .Range("A65536").End(xlUp).Row).Copy .Range("D1")
End With
With Sh
With .Range("D2:D" & .Range("D65536").End(xlUp).Row)
For Each C In Rg
A = Application.Match(C, .Cells, 0)
If IsNumeric(A) Then
.Item(A, 1).Delete xlUp
Else
Err.Clear
End If
Next
.Name = "liste_de_charge"
End With
End With
Application.EnableEvents = True
End If
End Sub
'--------------------------------------------
Bonjour,
Je te suggère ceci :
A ) Ce code doit être placé dans le module de la feuille où l'action se
déroule.
B ) Place ta liste dans la "feuil4" (celle que tu veux) dont la seule
fonction est
de conserver la liste de validation en colonne A, A1 à A13
Copie la plage A1:A13 vers la colonne D1:D13 de la feuil4
Assigne à la plage "D1:D13" le nom liste_de_charge
C ) Si le nom de la feuille choisie est différent de "Feuil4", n'oublie
pas
de
modifier le nom dans la macro.
D ) Tu masques cette feuille comme ceci :
worksheets("Feuil4").Visible=xlSheetVeryHidden
Cela rendra la feuille inaccessible par les usagers.
'--------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, Sh As Worksheet, C As Range, A As Variant
Set Sh = Worksheets("Feuil4") 'à définir
With Me
Set Rg = Range("D30,D60,D90,D120,D150,D180,D210")
End With
If Not Intersect(Target, Rg) Is Nothing Then
Application.EnableEvents = False
With Sh
.Range("A1:A" & .Range("A65536").End(xlUp).Row).Copy .Range("D1")
End With
With Sh
With .Range("D2:D" & .Range("D65536").End(xlUp).Row)
For Each C In Rg
A = Application.Match(C, .Cells, 0)
If IsNumeric(A) Then
.Item(A, 1).Delete xlUp
Else
Err.Clear
End If
Next
.Name = "liste_de_charge"
End With
End With
Application.EnableEvents = True
End If
End Sub
'--------------------------------------------
Bonjour,
Je te suggère ceci :
A ) Ce code doit être placé dans le module de la feuille où l'action se
déroule.
B ) Place ta liste dans la "feuil4" (celle que tu veux) dont la seule
fonction est
de conserver la liste de validation en colonne A, A1 à A13
Copie la plage A1:A13 vers la colonne D1:D13 de la feuil4
Assigne à la plage "D1:D13" le nom liste_de_charge
C ) Si le nom de la feuille choisie est différent de "Feuil4", n'oublie
pas
de
modifier le nom dans la macro.
D ) Tu masques cette feuille comme ceci :
worksheets("Feuil4").Visible=xlSheetVeryHidden
Cela rendra la feuille inaccessible par les usagers.
'--------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, Sh As Worksheet, C As Range, A As Variant
Set Sh = Worksheets("Feuil4") 'à définir
With Me
Set Rg = Range("D30,D60,D90,D120,D150,D180,D210")
End With
If Not Intersect(Target, Rg) Is Nothing Then
Application.EnableEvents = False
With Sh
.Range("A1:A" & .Range("A65536").End(xlUp).Row).Copy .Range("D1")
End With
With Sh
With .Range("D2:D" & .Range("D65536").End(xlUp).Row)
For Each C In Rg
A = Application.Match(C, .Cells, 0)
If IsNumeric(A) Then
.Item(A, 1).Delete xlUp
Else
Err.Clear
End If
Next
.Name = "liste_de_charge"
End With
End With
Application.EnableEvents = True
End If
End Sub
'--------------------------------------------
Bonjour,
Je te suggère ceci :
A ) Ce code doit être placé dans le module de la feuille où l'action se
déroule.
B ) Place ta liste dans la "feuil4" (celle que tu veux) dont la seule
fonction est
de conserver la liste de validation en colonne A, A1 à A13
Copie la plage A1:A13 vers la colonne D1:D13 de la feuil4
Assigne à la plage "D1:D13" le nom liste_de_charge
C ) Si le nom de la feuille choisie est différent de "Feuil4", n'oublie
pas
de
modifier le nom dans la macro.
D ) Tu masques cette feuille comme ceci :
worksheets("Feuil4").Visible=xlSheetVeryHidden
Cela rendra la feuille inaccessible par les usagers.
'--------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, Sh As Worksheet, C As Range, A As Variant
Set Sh = Worksheets("Feuil4") 'à définir
With Me
Set Rg = Range("D30,D60,D90,D120,D150,D180,D210")
End With
If Not Intersect(Target, Rg) Is Nothing Then
Application.EnableEvents = False
With Sh
.Range("A1:A" & .Range("A65536").End(xlUp).Row).Copy .Range("D1")
End With
With Sh
With .Range("D2:D" & .Range("D65536").End(xlUp).Row)
For Each C In Rg
A = Application.Match(C, .Cells, 0)
If IsNumeric(A) Then
.Item(A, 1).Delete xlUp
Else
Err.Clear
End If
Next
.Name = "liste_de_charge"
End With
End With
Application.EnableEvents = True
End If
End Sub
'--------------------------------------------
Bonjour Fredo
C'est très gentil à toi de remercier ton répondeur. Cela est rare e t,
avouons-le, cela fait plaisir d'avoir un peu de reconnaissance.
Mais, pourquoi n'expliques-tu pas à Denis ce qui ne va pas?
En exposant clairement le problème, il arrive parfois que l'on trouve
soi-même la solution. Mais, aussi, on aide le répondeur à mieux cer ner la
chose et donc à trouver une solution plus appropriée à ce problèm e.
A te lire.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"Fredo(67)" a écrit dans le message de groupe de discussion :
Salut MichD
j'ai adapté ta proposition à mon cas, et en fait cela ne fonctionne p as, non
pas ta macro, mais mon fichier n'est pas adapté à ce que je voulais
faire....
Toutefois, je te remercie pour le temps passé à me trouver une soluti on.
Merci
Le mardi 4 février 2014 17:38:32 UTC+1, MichD a écrit :
> Bonjour,
>
>
>
> Je te suggère ceci :
>
>
>
> A ) Ce code doit être placé dans le module de la feuille où l'act ion se
>
> déroule.
>
>
>
> B ) Place ta liste dans la "feuil4" (celle que tu veux) dont la seule
>
> fonction est
>
> de conserver la liste de validation en colonne A, A1 à A13
>
>
>
> Copie la plage A1:A13 vers la colonne D1:D13 de la feuil4
>
>
>
> Assigne à la plage "D1:D13" le nom liste_de_charge
>
>
>
> C ) Si le nom de la feuille choisie est différent de "Feuil4", n'oubl ie
> pas
>
> de
>
> modifier le nom dans la macro.
>
>
>
> D ) Tu masques cette feuille comme ceci :
>
> worksheets("Feuil4").Visible=xlSheetVeryHidden
>
> Cela rendra la feuille inaccessible par les usagers.
>
>
>
> '--------------------------------------------
>
> Private Sub Worksheet_Change(ByVal Target As Range)
>
> Dim Rg As Range, Sh As Worksheet, C As Range, A As Variant
>
>
>
> Set Sh = Worksheets("Feuil4") 'à définir
>
>
>
> With Me
>
> Set Rg = Range("D30,D60,D90,D120,D150,D180,D210")
>
> End With
>
> If Not Intersect(Target, Rg) Is Nothing Then
>
> Application.EnableEvents = False
>
> With Sh
>
> .Range("A1:A" & .Range("A65536").End(xlUp).Row).Copy .Range("D1 ")
>
> End With
>
> With Sh
>
> With .Range("D2:D" & .Range("D65536").End(xlUp).Row)
>
> For Each C In Rg
>
> A = Application.Match(C, .Cells, 0)
>
> If IsNumeric(A) Then
>
> .Item(A, 1).Delete xlUp
>
> Else
>
> Err.Clear
>
> End If
>
> Next
>
> .Name = "liste_de_charge"
>
> End With
>
> End With
>
> Application.EnableEvents = True
>
> End If
>
> End Sub
>
> '--------------------------------------------
Bonjour Fredo
C'est très gentil à toi de remercier ton répondeur. Cela est rare e t,
avouons-le, cela fait plaisir d'avoir un peu de reconnaissance.
Mais, pourquoi n'expliques-tu pas à Denis ce qui ne va pas?
En exposant clairement le problème, il arrive parfois que l'on trouve
soi-même la solution. Mais, aussi, on aide le répondeur à mieux cer ner la
chose et donc à trouver une solution plus appropriée à ce problèm e.
A te lire.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"Fredo(67)" a écrit dans le message de groupe de discussion :
6278c6bb-e714-4670-8882-4e56ec963cf1@googlegroups.com...
Salut MichD
j'ai adapté ta proposition à mon cas, et en fait cela ne fonctionne p as, non
pas ta macro, mais mon fichier n'est pas adapté à ce que je voulais
faire....
Toutefois, je te remercie pour le temps passé à me trouver une soluti on.
Merci
Le mardi 4 février 2014 17:38:32 UTC+1, MichD a écrit :
> Bonjour,
>
>
>
> Je te suggère ceci :
>
>
>
> A ) Ce code doit être placé dans le module de la feuille où l'act ion se
>
> déroule.
>
>
>
> B ) Place ta liste dans la "feuil4" (celle que tu veux) dont la seule
>
> fonction est
>
> de conserver la liste de validation en colonne A, A1 à A13
>
>
>
> Copie la plage A1:A13 vers la colonne D1:D13 de la feuil4
>
>
>
> Assigne à la plage "D1:D13" le nom liste_de_charge
>
>
>
> C ) Si le nom de la feuille choisie est différent de "Feuil4", n'oubl ie
> pas
>
> de
>
> modifier le nom dans la macro.
>
>
>
> D ) Tu masques cette feuille comme ceci :
>
> worksheets("Feuil4").Visible=xlSheetVeryHidden
>
> Cela rendra la feuille inaccessible par les usagers.
>
>
>
> '--------------------------------------------
>
> Private Sub Worksheet_Change(ByVal Target As Range)
>
> Dim Rg As Range, Sh As Worksheet, C As Range, A As Variant
>
>
>
> Set Sh = Worksheets("Feuil4") 'à définir
>
>
>
> With Me
>
> Set Rg = Range("D30,D60,D90,D120,D150,D180,D210")
>
> End With
>
> If Not Intersect(Target, Rg) Is Nothing Then
>
> Application.EnableEvents = False
>
> With Sh
>
> .Range("A1:A" & .Range("A65536").End(xlUp).Row).Copy .Range("D1 ")
>
> End With
>
> With Sh
>
> With .Range("D2:D" & .Range("D65536").End(xlUp).Row)
>
> For Each C In Rg
>
> A = Application.Match(C, .Cells, 0)
>
> If IsNumeric(A) Then
>
> .Item(A, 1).Delete xlUp
>
> Else
>
> Err.Clear
>
> End If
>
> Next
>
> .Name = "liste_de_charge"
>
> End With
>
> End With
>
> Application.EnableEvents = True
>
> End If
>
> End Sub
>
> '--------------------------------------------
Bonjour Fredo
C'est très gentil à toi de remercier ton répondeur. Cela est rare e t,
avouons-le, cela fait plaisir d'avoir un peu de reconnaissance.
Mais, pourquoi n'expliques-tu pas à Denis ce qui ne va pas?
En exposant clairement le problème, il arrive parfois que l'on trouve
soi-même la solution. Mais, aussi, on aide le répondeur à mieux cer ner la
chose et donc à trouver une solution plus appropriée à ce problèm e.
A te lire.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"Fredo(67)" a écrit dans le message de groupe de discussion :
Salut MichD
j'ai adapté ta proposition à mon cas, et en fait cela ne fonctionne p as, non
pas ta macro, mais mon fichier n'est pas adapté à ce que je voulais
faire....
Toutefois, je te remercie pour le temps passé à me trouver une soluti on.
Merci
Le mardi 4 février 2014 17:38:32 UTC+1, MichD a écrit :
> Bonjour,
>
>
>
> Je te suggère ceci :
>
>
>
> A ) Ce code doit être placé dans le module de la feuille où l'act ion se
>
> déroule.
>
>
>
> B ) Place ta liste dans la "feuil4" (celle que tu veux) dont la seule
>
> fonction est
>
> de conserver la liste de validation en colonne A, A1 à A13
>
>
>
> Copie la plage A1:A13 vers la colonne D1:D13 de la feuil4
>
>
>
> Assigne à la plage "D1:D13" le nom liste_de_charge
>
>
>
> C ) Si le nom de la feuille choisie est différent de "Feuil4", n'oubl ie
> pas
>
> de
>
> modifier le nom dans la macro.
>
>
>
> D ) Tu masques cette feuille comme ceci :
>
> worksheets("Feuil4").Visible=xlSheetVeryHidden
>
> Cela rendra la feuille inaccessible par les usagers.
>
>
>
> '--------------------------------------------
>
> Private Sub Worksheet_Change(ByVal Target As Range)
>
> Dim Rg As Range, Sh As Worksheet, C As Range, A As Variant
>
>
>
> Set Sh = Worksheets("Feuil4") 'à définir
>
>
>
> With Me
>
> Set Rg = Range("D30,D60,D90,D120,D150,D180,D210")
>
> End With
>
> If Not Intersect(Target, Rg) Is Nothing Then
>
> Application.EnableEvents = False
>
> With Sh
>
> .Range("A1:A" & .Range("A65536").End(xlUp).Row).Copy .Range("D1 ")
>
> End With
>
> With Sh
>
> With .Range("D2:D" & .Range("D65536").End(xlUp).Row)
>
> For Each C In Rg
>
> A = Application.Match(C, .Cells, 0)
>
> If IsNumeric(A) Then
>
> .Item(A, 1).Delete xlUp
>
> Else
>
> Err.Clear
>
> End If
>
> Next
>
> .Name = "liste_de_charge"
>
> End With
>
> End With
>
> Application.EnableEvents = True
>
> End If
>
> End Sub
>
> '--------------------------------------------
Bonjour,
Regade le classeur à l'adresse :
https://skydrive.live.com/redir?residD5842B14D14FA4!885&authkey=!A Lu8dClQ490IrjM&ithint=file%2c.xlsx
Cordialement.
Daniel
Bonjour,
Regade le classeur à l'adresse :
https://skydrive.live.com/redir?resid=96D5842B14D14FA4!885&authkey=!A Lu8dClQ490IrjM&ithint=file%2c.xlsx
Cordialement.
Daniel
Bonjour,
Regade le classeur à l'adresse :
https://skydrive.live.com/redir?residD5842B14D14FA4!885&authkey=!A Lu8dClQ490IrjM&ithint=file%2c.xlsx
Cordialement.
Daniel
C'est pas mal du tout, mais la les valeurs de la colonne N sont à valid er par Crtl+Maj+Entrée ? non ?
Le jeudi 6 février 2014 14:49:36 UTC+1, DanielCo a écrit :
> Bonjour,
>
>
>
> Regade le classeur à l'adresse :
>
>
>
> https://skydrive.live.com/redir?residD5842B14D14FA4!885&authkey= !ALu8dClQ490IrjM&ithint=file%2c.xlsx
>
>
>
> Cordialement.
>
> Daniel
C'est pas mal du tout, mais la les valeurs de la colonne N sont à valid er par Crtl+Maj+Entrée ? non ?
Le jeudi 6 février 2014 14:49:36 UTC+1, DanielCo a écrit :
> Bonjour,
>
>
>
> Regade le classeur à l'adresse :
>
>
>
> https://skydrive.live.com/redir?resid=96D5842B14D14FA4!885&authkey= !ALu8dClQ490IrjM&ithint=file%2c.xlsx
>
>
>
> Cordialement.
>
> Daniel
C'est pas mal du tout, mais la les valeurs de la colonne N sont à valid er par Crtl+Maj+Entrée ? non ?
Le jeudi 6 février 2014 14:49:36 UTC+1, DanielCo a écrit :
> Bonjour,
>
>
>
> Regade le classeur à l'adresse :
>
>
>
> https://skydrive.live.com/redir?residD5842B14D14FA4!885&authkey= !ALu8dClQ490IrjM&ithint=file%2c.xlsx
>
>
>
> Cordialement.
>
> Daniel
C'est pas mal du tout, mais la les valeurs de la colonne N sont à valider
par Crtl+Maj+Entrée ? non ?
Le jeudi 6 février 2014 14:49:36 UTC+1, DanielCo a écrit :
> Bonjour,
>
>
>
> Regade le classeur à l'adresse :
>
>
>
> https://skydrive.live.com/redir?residD5842B14D14FA4!885&authkey=!ALu8dClQ490IrjM&ithint=file%2c.xlsx
>
>
>
> Cordialement.
>
> Daniel
C'est pas mal du tout, mais la les valeurs de la colonne N sont à valider
par Crtl+Maj+Entrée ? non ?
Le jeudi 6 février 2014 14:49:36 UTC+1, DanielCo a écrit :
> Bonjour,
>
>
>
> Regade le classeur à l'adresse :
>
>
>
> https://skydrive.live.com/redir?residD5842B14D14FA4!885&authkey=!ALu8dClQ490IrjM&ithint=file%2c.xlsx
>
>
>
> Cordialement.
>
> Daniel
C'est pas mal du tout, mais la les valeurs de la colonne N sont à valider
par Crtl+Maj+Entrée ? non ?
Le jeudi 6 février 2014 14:49:36 UTC+1, DanielCo a écrit :
> Bonjour,
>
>
>
> Regade le classeur à l'adresse :
>
>
>
> https://skydrive.live.com/redir?residD5842B14D14FA4!885&authkey=!ALu8dClQ490IrjM&ithint=file%2c.xlsx
>
>
>
> Cordialement.
>
> Daniel