Bonjour,Bonjour,
On comprend l'idée
mais tu sera peut-être plus précis en donnant un
lien vers un fi chier exemple en cjoint.com
Cordialement
--
LSteph
Bonjour,Bonjour,
On comprend l'idée
mais tu sera peut-être plus précis en donnant un
lien vers un fi chier exemple en cjoint.com
Cordialement
--
LSteph
..en donnant un lien vers un fichier exemple en cjoint.com
'Il y a ensuite d'autres boucles du même type ...
Le jeudi 04 Août 2016 à 21:00 par LSteph :Bonjour,Bonjour,
On comprend l'idÃĩe
mais tu sera peut-ÃĻtre plus prÃĩcis en donnant un
lien vers un fi chier exemple en cjoint.com
Cordialement
--
LSteph
Je remercie LSteph de s’intéresser à mon cas, j'ai pour l'instant contourné le
soucis de suppression direct par "SUPPR" ou "DEL" en interdisant purement et
simplement la touche DEL dans le classeur!
Ceci dit, c'est pas très propre et je risque de retomber sur ce peti t soucis!
Pour tester, je peux te mettre le bout de macro à mettre dans la bon ne case:
"Private Sub Worksheet_Change(ByVal Target As Range)"
et donc:
Dim KeyCells1 As Range
Dim CellOrigineXo
'Plage de cellules nommée "niveauH" correspondant à une colonne de 180 lignes
Set KeyCells1 = Range("niveauxH")
CellOrigineXo = ActiveCell.Address
On Error Resume Next
If Not Application.Intersect(KeyCells1, Range(Target.Address)) Is Not hing
Then
'Désactive la gestion des évènements d'Excel
Application.EnableEvents = False
ActiveCell.Offset(-1, 0).Select
If Selection < 3 Then Exit Sub
ActiveCell.Offset(0, -2).Select
Selection.Copy
'Selectionne une cellule nommée "TrainingH"
Range("TrainingH").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, S kipBlanks
_
:úlse, Transpose:úlse
Range(CellOrigineXo).Select
ActiveCell.Offset(-1, 0).Select
If Selection > 2 And Selection < 16 Then
Selection.Copy
'Selectionne une cellule nommée "NewLevelH"
Range("NewLevelH").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks
_
:úlse, Transpose:úlse
'Selectionne une cellule nommée "NewDelaiH" (une RechercheV est effe ctuée dans
un autre tableau de la même feuille Excel)
Range("NewDelaiH").Select
Selection.Copy
Range("FinTraining").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks
_
:úlse, Transpose:úlse
'Selectionne une cellule nommée "DebutTraining" et met la date à jour
Range("DebutTraining").Value = Now()
'Selectionne une cellule nommée "CalageHautG" pour repositionner la feuille
Range("CalageHautG").Select
ActiveWindow.SmallScroll Down:=5
'Selectionne une cellule nommée "CompteArebour" un bout de macro dif férent gére
une fonction OnTime
Range("CompteArebour").Select
'Réactive la gestion des évènements d'Excel
Application.EnableEvents = True
'Vide la mémoire cache
Application.CutCopyMode = False
End If
End If
'Il y a ensuite d'autres boucles du même type ...
End Sub
Voilà pour le bout de macro, m'enfin le soucis doit se situer dans l a gestion de
la validation d'Excel je pense?
Ceci dit, j'ai mis une boucle complète, si tu vois des améliora tions!
J'ai essayé de faire la recherche verticale avec un bout de code mai s finalement
je me suis dit plus simple de récupérer le résultat dans l a feuille!
Je débute aussi, alors y a peut-être plus simple!
En tout cas, merci de te pencher sur mon cas,
Dans l'attente d'une réponse, y a pas d'urgence non plus, mais j'aim erai bien
progresser un peu aussi :)
Encore Merci !!
..en donnant un lien vers un fichier exemple en cjoint.com
'Il y a ensuite d'autres boucles du même type ...
Le jeudi 04 Août 2016 à 21:00 par LSteph :
> Bonjour,
>
> On comprend l'idÃĩe
> mais tu sera peut-ÃĻtre plus prÃĩcis en donnant un
> lien vers un fi chier exemple en cjoint.com
>
> Cordialement
>
> --
> LSteph
Bonjour,
Je remercie LSteph de s’intéresser à mon cas, j'ai pour l'instant contourné le
soucis de suppression direct par "SUPPR" ou "DEL" en interdisant purement et
simplement la touche DEL dans le classeur!
Ceci dit, c'est pas très propre et je risque de retomber sur ce peti t soucis!
Pour tester, je peux te mettre le bout de macro à mettre dans la bon ne case:
"Private Sub Worksheet_Change(ByVal Target As Range)"
et donc:
Dim KeyCells1 As Range
Dim CellOrigineXo
'Plage de cellules nommée "niveauH" correspondant à une colonne de 180 lignes
Set KeyCells1 = Range("niveauxH")
CellOrigineXo = ActiveCell.Address
On Error Resume Next
If Not Application.Intersect(KeyCells1, Range(Target.Address)) Is Not hing
Then
'Désactive la gestion des évènements d'Excel
Application.EnableEvents = False
ActiveCell.Offset(-1, 0).Select
If Selection < 3 Then Exit Sub
ActiveCell.Offset(0, -2).Select
Selection.Copy
'Selectionne une cellule nommée "TrainingH"
Range("TrainingH").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, S kipBlanks
_
:=False, Transpose:=False
Range(CellOrigineXo).Select
ActiveCell.Offset(-1, 0).Select
If Selection > 2 And Selection < 16 Then
Selection.Copy
'Selectionne une cellule nommée "NewLevelH"
Range("NewLevelH").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks
_
:=False, Transpose:=False
'Selectionne une cellule nommée "NewDelaiH" (une RechercheV est effe ctuée dans
un autre tableau de la même feuille Excel)
Range("NewDelaiH").Select
Selection.Copy
Range("FinTraining").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks
_
:=False, Transpose:=False
'Selectionne une cellule nommée "DebutTraining" et met la date à jour
Range("DebutTraining").Value = Now()
'Selectionne une cellule nommée "CalageHautG" pour repositionner la feuille
Range("CalageHautG").Select
ActiveWindow.SmallScroll Down:=5
'Selectionne une cellule nommée "CompteArebour" un bout de macro dif férent gére
une fonction OnTime
Range("CompteArebour").Select
'Réactive la gestion des évènements d'Excel
Application.EnableEvents = True
'Vide la mémoire cache
Application.CutCopyMode = False
End If
End If
'Il y a ensuite d'autres boucles du même type ...
End Sub
Voilà pour le bout de macro, m'enfin le soucis doit se situer dans l a gestion de
la validation d'Excel je pense?
Ceci dit, j'ai mis une boucle complète, si tu vois des améliora tions!
J'ai essayé de faire la recherche verticale avec un bout de code mai s finalement
je me suis dit plus simple de récupérer le résultat dans l a feuille!
Je débute aussi, alors y a peut-être plus simple!
En tout cas, merci de te pencher sur mon cas,
Dans l'attente d'une réponse, y a pas d'urgence non plus, mais j'aim erai bien
progresser un peu aussi :)
Encore Merci !!
..en donnant un lien vers un fichier exemple en cjoint.com
'Il y a ensuite d'autres boucles du même type ...
Le jeudi 04 Août 2016 à 21:00 par LSteph :Bonjour,Bonjour,
On comprend l'idÃĩe
mais tu sera peut-ÃĻtre plus prÃĩcis en donnant un
lien vers un fi chier exemple en cjoint.com
Cordialement
--
LSteph
Je remercie LSteph de s’intéresser à mon cas, j'ai pour l'instant contourné le
soucis de suppression direct par "SUPPR" ou "DEL" en interdisant purement et
simplement la touche DEL dans le classeur!
Ceci dit, c'est pas très propre et je risque de retomber sur ce peti t soucis!
Pour tester, je peux te mettre le bout de macro à mettre dans la bon ne case:
"Private Sub Worksheet_Change(ByVal Target As Range)"
et donc:
Dim KeyCells1 As Range
Dim CellOrigineXo
'Plage de cellules nommée "niveauH" correspondant à une colonne de 180 lignes
Set KeyCells1 = Range("niveauxH")
CellOrigineXo = ActiveCell.Address
On Error Resume Next
If Not Application.Intersect(KeyCells1, Range(Target.Address)) Is Not hing
Then
'Désactive la gestion des évènements d'Excel
Application.EnableEvents = False
ActiveCell.Offset(-1, 0).Select
If Selection < 3 Then Exit Sub
ActiveCell.Offset(0, -2).Select
Selection.Copy
'Selectionne une cellule nommée "TrainingH"
Range("TrainingH").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, S kipBlanks
_
:úlse, Transpose:úlse
Range(CellOrigineXo).Select
ActiveCell.Offset(-1, 0).Select
If Selection > 2 And Selection < 16 Then
Selection.Copy
'Selectionne une cellule nommée "NewLevelH"
Range("NewLevelH").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks
_
:úlse, Transpose:úlse
'Selectionne une cellule nommée "NewDelaiH" (une RechercheV est effe ctuée dans
un autre tableau de la même feuille Excel)
Range("NewDelaiH").Select
Selection.Copy
Range("FinTraining").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks
_
:úlse, Transpose:úlse
'Selectionne une cellule nommée "DebutTraining" et met la date à jour
Range("DebutTraining").Value = Now()
'Selectionne une cellule nommée "CalageHautG" pour repositionner la feuille
Range("CalageHautG").Select
ActiveWindow.SmallScroll Down:=5
'Selectionne une cellule nommée "CompteArebour" un bout de macro dif férent gére
une fonction OnTime
Range("CompteArebour").Select
'Réactive la gestion des évènements d'Excel
Application.EnableEvents = True
'Vide la mémoire cache
Application.CutCopyMode = False
End If
End If
'Il y a ensuite d'autres boucles du même type ...
End Sub
Voilà pour le bout de macro, m'enfin le soucis doit se situer dans l a gestion de
la validation d'Excel je pense?
Ceci dit, j'ai mis une boucle complète, si tu vois des améliora tions!
J'ai essayé de faire la recherche verticale avec un bout de code mai s finalement
je me suis dit plus simple de récupérer le résultat dans l a feuille!
Je débute aussi, alors y a peut-être plus simple!
En tout cas, merci de te pencher sur mon cas,
Dans l'attente d'une réponse, y a pas d'urgence non plus, mais j'aim erai bien
progresser un peu aussi :)
Encore Merci !!
Le jeudi 04 Août 2016 à 21:00 par LSteph :Bonjour,
On comprend l'idée
mais tu sera peut-être plus précis en donnant un
lien vers un fi chier exemple en cjoint.com
Cordialement
--
LSteph
Bonjour,
Je remercie LSteph de s’intéresser à mon cas, j'ai pour l'instant contourné le
soucis de suppression direct par "SUPPR" ou "DEL" en interdisant purement et
simplement la touche DEL dans le classeur!
Ceci dit, c'est pas très propre et je risque de retomber sur ce petit soucis!
Pour tester, je peux te mettre le bout de macro à mettre dans la bonne case:
"Private Sub Worksheet_Change(ByVal Target As Range)"
et donc:
Dim KeyCells1 As Range
Dim CellOrigineXo
'Plage de cellules nommée "niveauH" correspondant à une colonne de 180 lignes
Set KeyCells1 = Range("niveauxH")
CellOrigineXo = ActiveCell.Address
On Error Resume Next
If Not Application.Intersect(KeyCells1, Range(Target.Address)) Is Nothing
Then
'Désactive la gestion des évènements d'Excel
Application.EnableEvents = False
ActiveCell.Offset(-1, 0).Select
If Selection < 3 Then Exit Sub
ActiveCell.Offset(0, -2).Select
Selection.Copy
'Selectionne une cellule nommée "TrainingH"
Range("TrainingH").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks
_
:úlse, Transpose:úlse
Range(CellOrigineXo).Select
ActiveCell.Offset(-1, 0).Select
If Selection > 2 And Selection < 16 Then
Selection.Copy
'Selectionne une cellule nommée "NewLevelH"
Range("NewLevelH").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks
_
:úlse, Transpose:úlse
'Selectionne une cellule nommée "NewDelaiH" (une RechercheV est effectuée dans
un autre tableau de la même feuille Excel)
Range("NewDelaiH").Select
Selection.Copy
Range("FinTraining").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks
_
:úlse, Transpose:úlse
'Selectionne une cellule nommée "DebutTraining" et met la date à jour
Range("DebutTraining").Value = Now()
'Selectionne une cellule nommée "CalageHautG" pour repositionner la feuille
Range("CalageHautG").Select
ActiveWindow.SmallScroll Down:=5
'Selectionne une cellule nommée "CompteArebour" un bout de macro différent gére
une fonction OnTime
Range("CompteArebour").Select
'Réactive la gestion des évènements d'Excel
Application.EnableEvents = True
'Vide la mémoire cache
Application.CutCopyMode = False
End If
End If
'Il y a ensuite d'autres boucles du même type ...
End Sub
Voilà pour le bout de macro, m'enfin le soucis doit se situer dans la gestion de
la validation d'Excel je pense?
Ceci dit, j'ai mis une boucle complète, si tu vois des améliorations!
J'ai essayé de faire la recherche verticale avec un bout de code mais finalement
je me suis dit plus simple de récupérer le résultat dans la feuille!
Je débute aussi, alors y a peut-être plus simple!
En tout cas, merci de te pencher sur mon cas,
Dans l'attente d'une réponse, y a pas d'urgence non plus, mais j'aimerai bien
progresser un peu aussi :)
Encore Merci !!
Le jeudi 04 Août 2016 à 21:00 par LSteph :
Bonjour,
On comprend l'idée
mais tu sera peut-être plus précis en donnant un
lien vers un fi chier exemple en cjoint.com
Cordialement
--
LSteph
Bonjour,
Je remercie LSteph de s’intéresser à mon cas, j'ai pour l'instant contourné le
soucis de suppression direct par "SUPPR" ou "DEL" en interdisant purement et
simplement la touche DEL dans le classeur!
Ceci dit, c'est pas très propre et je risque de retomber sur ce petit soucis!
Pour tester, je peux te mettre le bout de macro à mettre dans la bonne case:
"Private Sub Worksheet_Change(ByVal Target As Range)"
et donc:
Dim KeyCells1 As Range
Dim CellOrigineXo
'Plage de cellules nommée "niveauH" correspondant à une colonne de 180 lignes
Set KeyCells1 = Range("niveauxH")
CellOrigineXo = ActiveCell.Address
On Error Resume Next
If Not Application.Intersect(KeyCells1, Range(Target.Address)) Is Nothing
Then
'Désactive la gestion des évènements d'Excel
Application.EnableEvents = False
ActiveCell.Offset(-1, 0).Select
If Selection < 3 Then Exit Sub
ActiveCell.Offset(0, -2).Select
Selection.Copy
'Selectionne une cellule nommée "TrainingH"
Range("TrainingH").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks
_
:úlse, Transpose:úlse
Range(CellOrigineXo).Select
ActiveCell.Offset(-1, 0).Select
If Selection > 2 And Selection < 16 Then
Selection.Copy
'Selectionne une cellule nommée "NewLevelH"
Range("NewLevelH").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks
_
:úlse, Transpose:úlse
'Selectionne une cellule nommée "NewDelaiH" (une RechercheV est effectuée dans
un autre tableau de la même feuille Excel)
Range("NewDelaiH").Select
Selection.Copy
Range("FinTraining").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks
_
:úlse, Transpose:úlse
'Selectionne une cellule nommée "DebutTraining" et met la date à jour
Range("DebutTraining").Value = Now()
'Selectionne une cellule nommée "CalageHautG" pour repositionner la feuille
Range("CalageHautG").Select
ActiveWindow.SmallScroll Down:=5
'Selectionne une cellule nommée "CompteArebour" un bout de macro différent gére
une fonction OnTime
Range("CompteArebour").Select
'Réactive la gestion des évènements d'Excel
Application.EnableEvents = True
'Vide la mémoire cache
Application.CutCopyMode = False
End If
End If
'Il y a ensuite d'autres boucles du même type ...
End Sub
Voilà pour le bout de macro, m'enfin le soucis doit se situer dans la gestion de
la validation d'Excel je pense?
Ceci dit, j'ai mis une boucle complète, si tu vois des améliorations!
J'ai essayé de faire la recherche verticale avec un bout de code mais finalement
je me suis dit plus simple de récupérer le résultat dans la feuille!
Je débute aussi, alors y a peut-être plus simple!
En tout cas, merci de te pencher sur mon cas,
Dans l'attente d'une réponse, y a pas d'urgence non plus, mais j'aimerai bien
progresser un peu aussi :)
Encore Merci !!
Le jeudi 04 Août 2016 à 21:00 par LSteph :Bonjour,
On comprend l'idée
mais tu sera peut-être plus précis en donnant un
lien vers un fi chier exemple en cjoint.com
Cordialement
--
LSteph
Bonjour,
Je remercie LSteph de s’intéresser à mon cas, j'ai pour l'instant contourné le
soucis de suppression direct par "SUPPR" ou "DEL" en interdisant purement et
simplement la touche DEL dans le classeur!
Ceci dit, c'est pas très propre et je risque de retomber sur ce petit soucis!
Pour tester, je peux te mettre le bout de macro à mettre dans la bonne case:
"Private Sub Worksheet_Change(ByVal Target As Range)"
et donc:
Dim KeyCells1 As Range
Dim CellOrigineXo
'Plage de cellules nommée "niveauH" correspondant à une colonne de 180 lignes
Set KeyCells1 = Range("niveauxH")
CellOrigineXo = ActiveCell.Address
On Error Resume Next
If Not Application.Intersect(KeyCells1, Range(Target.Address)) Is Nothing
Then
'Désactive la gestion des évènements d'Excel
Application.EnableEvents = False
ActiveCell.Offset(-1, 0).Select
If Selection < 3 Then Exit Sub
ActiveCell.Offset(0, -2).Select
Selection.Copy
'Selectionne une cellule nommée "TrainingH"
Range("TrainingH").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks
_
:úlse, Transpose:úlse
Range(CellOrigineXo).Select
ActiveCell.Offset(-1, 0).Select
If Selection > 2 And Selection < 16 Then
Selection.Copy
'Selectionne une cellule nommée "NewLevelH"
Range("NewLevelH").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks
_
:úlse, Transpose:úlse
'Selectionne une cellule nommée "NewDelaiH" (une RechercheV est effectuée dans
un autre tableau de la même feuille Excel)
Range("NewDelaiH").Select
Selection.Copy
Range("FinTraining").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks
_
:úlse, Transpose:úlse
'Selectionne une cellule nommée "DebutTraining" et met la date à jour
Range("DebutTraining").Value = Now()
'Selectionne une cellule nommée "CalageHautG" pour repositionner la feuille
Range("CalageHautG").Select
ActiveWindow.SmallScroll Down:=5
'Selectionne une cellule nommée "CompteArebour" un bout de macro différent gére
une fonction OnTime
Range("CompteArebour").Select
'Réactive la gestion des évènements d'Excel
Application.EnableEvents = True
'Vide la mémoire cache
Application.CutCopyMode = False
End If
End If
'Il y a ensuite d'autres boucles du même type ...
End Sub
Voilà pour le bout de macro, m'enfin le soucis doit se situer dans la gestion de
la validation d'Excel je pense?
Ceci dit, j'ai mis une boucle complète, si tu vois des améliorations!
J'ai essayé de faire la recherche verticale avec un bout de code mais finalement
je me suis dit plus simple de récupérer le résultat dans la feuille!
Je débute aussi, alors y a peut-être plus simple!
En tout cas, merci de te pencher sur mon cas,
Dans l'attente d'une réponse, y a pas d'urgence non plus, mais j'aimerai bien
progresser un peu aussi :)
Encore Merci !!
Bonjour à toutes et tous,Merci Isabelle et merci LSteph.
Un petit soucis dans une macro de type Private Sub Worksheet_Change(ByVal
Target As Range) !
Donc sur des changements de valeur d'une sélection, la macro
réalise bien ce qu'on lui demande, sauf que j'ai des restrictions sur
les valeurs numériques à gérer par exemple uniquement les
valeurs entre 2 et 16.
Le soucis se pose lorsqu'une valeur est supprimée par la touche SUPPR
(del) directement sans donc passer par validation, la macro agit sans respecter
le fait que la cellule est vide et ne devrait donc pas correspondre à
mes conditions.
Effectivement, si j'édite la cellule, efface la valeur puis valide,
là elle respecte les conditions!
Si quelqu'un a une idée pour contourner ce problème, ce serait
formidable, avec un grand merci d'avance!
Bonjour à toutes et tous,Merci Isabelle et merci LSteph.
Un petit soucis dans une macro de type Private Sub Worksheet_Change(ByVal
Target As Range) !
Donc sur des changements de valeur d'une sélection, la macro
réalise bien ce qu'on lui demande, sauf que j'ai des restrictions sur
les valeurs numériques à gérer par exemple uniquement les
valeurs entre 2 et 16.
Le soucis se pose lorsqu'une valeur est supprimée par la touche SUPPR
(del) directement sans donc passer par validation, la macro agit sans respecter
le fait que la cellule est vide et ne devrait donc pas correspondre à
mes conditions.
Effectivement, si j'édite la cellule, efface la valeur puis valide,
là elle respecte les conditions!
Si quelqu'un a une idée pour contourner ce problème, ce serait
formidable, avec un grand merci d'avance!