Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

selectionner les 8 colonnes à droite

16 réponses
Avatar
Albert
Bonjour

Je ne réussi pas à faire cette macro, car l'enregisteur enregistre pour la
ligne active seulement.

Sur n'importe quelle ligne, je suis sur la cellule "D", en quittant la
cellule, je voudrais selectionner les 8 colonnes à droite sur cette même
ligne, (F:M), copier le contenu de la ligne précédente (Selection.FillDown)
et ensuite me placer sur la cellule "N" de cette ligne (Fin de la macro).

merci


--
albertri-at-videotron.ca.invalid

10 réponses

1 2
Avatar
Jacky
Bonsoir,

Pas certain d'avoir compris..
Teste ceci, peut-être que cela répond à ton souhait
A placer dans le module de la feuille en question
'------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 4 And Target.Row > 1 Then
Range(Cells(Target.Row - 1, 6), Cells(Target.Row - 1, 13)).Copy Target.Offset(, 2)
Target.Offset(, 10).Select
End If
End Sub
'-----------------
--
Salutations
JJ


"Albert" a écrit dans le message de news: k4pv4f$cvl$
Bonjour

Je ne réussi pas à faire cette macro, car l'enregisteur enregistre pour la ligne active seulement.

Sur n'importe quelle ligne, je suis sur la cellule "D", en quittant la cellule, je voudrais selectionner
les 8 colonnes à droite sur cette même ligne, (F:M), copier le contenu de la ligne précédente
(Selection.FillDown) et ensuite me placer sur la cellule "N" de cette ligne (Fin de la macro).

merci


--
albertri-at-videotron.ca.invalid
Avatar
Albert
Bonsoir Jacky
Une petitte erreur de ma part, en quittant la cellule de la colonne ""E""
et non pas "D"

par exemple:
En quittant la cellule "E14"
sélectionner les cellules F14:M14
et y copier le contenu de F13:M14
ensuite se placer dans la cellule N14

Je ne comprends pas
Copy Target.Offset(, 2) et Target.Offset(, 10).Select

Dans la cellule L14 j'ai le bon résultat mais c'est vide dans les autres.


"Jacky" a écrit dans le message de
news:k4q2mk$n5i$
Bonsoir,

Pas certain d'avoir compris..
Teste ceci, peut-être que cela répond à ton souhait
A placer dans le module de la feuille en question
'------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 4 And Target.Row > 1 Then
Range(Cells(Target.Row - 1, 6), Cells(Target.Row - 1, 13)).Copy
Target.Offset(, 2)
Target.Offset(, 10).Select
End If
End Sub
'-----------------
--
Salutations
JJ


"Albert" a écrit dans le message de news:
k4pv4f$cvl$
Bonjour

Je ne réussi pas à faire cette macro, car l'enregisteur enregistre pour
la ligne active seulement.

Sur n'importe quelle ligne, je suis sur la cellule "D", en quittant la
cellule, je voudrais selectionner les 8 colonnes à droite sur cette même
ligne, (F:M), copier le contenu de la ligne précédente
(Selection.FillDown) et ensuite me placer sur la cellule "N" de cette
ligne (Fin de la macro).

merci


--
albertri-at-videotron.ca.invalid




Avatar
Albert
Je suis un mauvais dactylo
ceci devrait lire
par exemple:
En quittant la cellule "E14"
sélectionner les cellules F14:M14
et y copier le contenu de F13:M13 <<<<<<
ensuite se placer dans la cellule N14




"Albert" a écrit dans le message de
news:k4q5bh$ucd$
Bonsoir Jacky
Une petitte erreur de ma part, en quittant la cellule de la colonne ""E""
et non pas "D"

par exemple:
En quittant la cellule "E14"
sélectionner les cellules F14:M14
et y copier le contenu de F13:M14
ensuite se placer dans la cellule N14

Je ne comprends pas
Copy Target.Offset(, 2) et Target.Offset(, 10).Select

Dans la cellule L14 j'ai le bon résultat mais c'est vide dans les autres.


"Jacky" a écrit dans le message de
news:k4q2mk$n5i$
Bonsoir,

Pas certain d'avoir compris..
Teste ceci, peut-être que cela répond à ton souhait
A placer dans le module de la feuille en question
'------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 4 And Target.Row > 1 Then
Range(Cells(Target.Row - 1, 6), Cells(Target.Row - 1, 13)).Copy
Target.Offset(, 2)
Target.Offset(, 10).Select
End If
End Sub
'-----------------
--
Salutations
JJ


"Albert" a écrit dans le message de news:
k4pv4f$cvl$
Bonjour

Je ne réussi pas à faire cette macro, car l'enregisteur enregistre pour
la ligne active seulement.

Sur n'importe quelle ligne, je suis sur la cellule "D", en quittant la
cellule, je voudrais selectionner les 8 colonnes à droite sur cette
même ligne, (F:M), copier le contenu de la ligne précédente
(Selection.FillDown) et ensuite me placer sur la cellule "N" de cette
ligne (Fin de la macro).

merci


--
albertri-at-videotron.ca.invalid







Avatar
Jacquouille
Bonjour
Je ne vois pas la réponse de Jacky.
Vous êtes bien sur le MPFE tous les deux?

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"Albert" a écrit dans le message de groupe de discussion :
k4q5gr$upl$

Je suis un mauvais dactylo
ceci devrait lire
par exemple:
En quittant la cellule "E14"
sélectionner les cellules F14:M14
et y copier le contenu de F13:M13 <<<<<<
ensuite se placer dans la cellule N14




"Albert" a écrit dans le message de
news:k4q5bh$ucd$
Bonsoir Jacky
Une petitte erreur de ma part, en quittant la cellule de la colonne ""E""
et non pas "D"

par exemple:
En quittant la cellule "E14"
sélectionner les cellules F14:M14
et y copier le contenu de F13:M14
ensuite se placer dans la cellule N14

Je ne comprends pas
Copy Target.Offset(, 2) et Target.Offset(, 10).Select

Dans la cellule L14 j'ai le bon résultat mais c'est vide dans les autres.


"Jacky" a écrit dans le message de
news:k4q2mk$n5i$
Bonsoir,

Pas certain d'avoir compris..
Teste ceci, peut-être que cela répond à ton souhait
A placer dans le module de la feuille en question
'------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 4 And Target.Row > 1 Then
Range(Cells(Target.Row - 1, 6), Cells(Target.Row - 1, 13)).Copy
Target.Offset(, 2)
Target.Offset(, 10).Select
End If
End Sub
'-----------------
--
Salutations
JJ


"Albert" a écrit dans le message de news:
k4pv4f$cvl$
Bonjour

Je ne réussi pas à faire cette macro, car l'enregisteur enregistre pour
la ligne active seulement.

Sur n'importe quelle ligne, je suis sur la cellule "D", en quittant la
cellule, je voudrais selectionner les 8 colonnes à droite sur cette
même ligne, (F:M), copier le contenu de la ligne précédente
(Selection.FillDown) et ensuite me placer sur la cellule "N" de cette
ligne (Fin de la macro).

merci


--
albertri-at-videotron.ca.invalid







Avatar
Albert
Bonnsoir

Oui Jacky a bien répondu sur MPFE
albert

"Jacquouille" a écrit dans le message de
news:50709e6e$0$3107$
Bonjour
Je ne vois pas la réponse de Jacky.
Vous êtes bien sur le MPFE tous les deux?

Jacquouille

Avatar
Albert
Re Bonsoir ou Bonjour Jacky

Tout marche très bien après quelques changements mineurs

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 6 And Target.Row > 1 Then
Range(Cells(Target.Row - 1, 6), Cells(Target.Row - 1, 13)).Copy
Target.Offset(, 0)
Target.Offset(, 9).Select
End If
End Sub

Merci
Albert

"Jacky" a écrit dans le message de
news:k4q2mk$n5i$
Bonsoir,

Pas certain d'avoir compris..
Teste ceci, peut-être que cela répond à ton souhait
A placer dans le module de la feuille en question
'------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 4 And Target.Row > 1 Then
Range(Cells(Target.Row - 1, 6), Cells(Target.Row - 1, 13)).Copy
Target.Offset(, 2)
Target.Offset(, 10).Select
End If
End Sub
'-----------------
Avatar
Jacky
Re...
'------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 5 And Target.Row > 1 Then
Range(Cells(Target.Row - 1, 6), Cells(Target.Row - 1, 13)).Copy Target.Offset(, 1)
Target.Offset(, 9).Select
End If
End Sub
'---------------
Je ne comprends pas
Copy Target.Offset(, 2) et Target.Offset(, 10).Select




DEVENU
Target.Offset(, 1) et Target.Offset(, 9).Select

"Target.Offset(, 1)" décale la sélection de 1 vers la droite (colonne F) et
commence la copie jusqu'a la colonne M (13)
"Target.Offset(, 9).Select" décale de 9 colonnes vers la droite soit colonne N
c'est l'équivalent de " Range("N" & Target.Row).Select"

Le tout a condition que la cellule en cours de sélection soit en colonne 5 (E) et au moins en ligne 2
--
Salutations
JJ


"Albert" a écrit dans le message de news: k4q5gr$upl$
Je suis un mauvais dactylo
ceci devrait lire
par exemple:
En quittant la cellule "E14"
sélectionner les cellules F14:M14
et y copier le contenu de F13:M13 <<<<<<
ensuite se placer dans la cellule N14




"Albert" a écrit dans le message de news:k4q5bh$ucd$
Bonsoir Jacky
Une petitte erreur de ma part, en quittant la cellule de la colonne ""E"" et non pas "D"

par exemple:
En quittant la cellule "E14"
sélectionner les cellules F14:M14
et y copier le contenu de F13:M14
ensuite se placer dans la cellule N14

Je ne comprends pas
Copy Target.Offset(, 2) et Target.Offset(, 10).Select

Dans la cellule L14 j'ai le bon résultat mais c'est vide dans les autres.


"Jacky" a écrit dans le message de news:k4q2mk$n5i$
Bonsoir,

Pas certain d'avoir compris..
Teste ceci, peut-être que cela répond à ton souhait
A placer dans le module de la feuille en question
'------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 4 And Target.Row > 1 Then
Range(Cells(Target.Row - 1, 6), Cells(Target.Row - 1, 13)).Copy Target.Offset(, 2)
Target.Offset(, 10).Select
End If
End Sub
'-----------------
--
Salutations
JJ


"Albert" a écrit dans le message de news: k4pv4f$cvl$
Bonjour

Je ne réussi pas à faire cette macro, car l'enregisteur enregistre pour la ligne active seulement.

Sur n'importe quelle ligne, je suis sur la cellule "D", en quittant la cellule, je voudrais selectionner
les 8 colonnes à droite sur cette même ligne, (F:M), copier le contenu de la ligne précédente
(Selection.FillDown) et ensuite me placer sur la cellule "N" de cette ligne (Fin de la macro).

merci


--
albertri-at-videotron.ca.invalid










Avatar
Albert
Re bonsoir
"Jacky" a écrit dans le message de
news:k4qbig$cq7$

J'ai compris après avoir mis le code sur FEUIL1...
et j'ai pu faire les corrections.

Une question cependant la colonne "E" correspond à If Target.Column = 5
aussitôt la colonne E atteinte, avant de taper le texte la macro s'exécute,
j'ai dû modifier la macro à :
If Target.Column = 6.......
Target.Offset(, 0)
Target.Offset(, 9).Select

Cela fonctionne bien
Est-ce la bonne façon de faire?

Merci
Albert


Re...
'------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 5 And Target.Row > 1 Then
Range(Cells(Target.Row - 1, 6), Cells(Target.Row - 1, 13)).Copy
Target.Offset(, 1)
Target.Offset(, 9).Select
End If
End Sub
'---------------
Je ne comprends pas
Copy Target.Offset(, 2) et Target.Offset(, 10).Select




DEVENU
Target.Offset(, 1) et Target.Offset(, 9).Select

"Target.Offset(, 1)" décale la sélection de 1 vers la droite (colonne F)
et
commence la copie jusqu'a la colonne M (13)
"Target.Offset(, 9).Select" décale de 9 colonnes vers la droite soit
colonne N
c'est l'équivalent de " Range("N" & Target.Row).Select"

Le tout a condition que la cellule en cours de sélection soit en colonne 5
(E) et au moins en ligne 2
--
Salutations
JJ




Avatar
Jacky
Re..
aussitôt la colonne E atteinte, avant de taper le texte la macro s'exécute,


Ceci est un comportement normal
Cela fonctionne bien


Quand cela fonctionne comme on le souhaite "ON NE TOUCHE PLUS" ;o)))))
Sauf
Target.Offset(, 0)


Devient ==> Target
et
Target.Offset(, 9).Select


Devient==> Target.Offset(, 8).Select
Si tu veux sélectionner la colonne N

Est-ce la bonne façon de faire?


Je ne sais pas ce que ton projet doit réaliser, mais perso.
je ne me sers pas d'une sélection de cellule pour faire une copie.
--
Salutations
JJ


"Albert" a écrit dans le message de news: k4qe3p$i1t$
Re bonsoir
"Jacky" a écrit dans le message de news:k4qbig$cq7$

J'ai compris après avoir mis le code sur FEUIL1...
et j'ai pu faire les corrections.

Une question cependant la colonne "E" correspond à If Target.Column = 5
aussitôt la colonne E atteinte, avant de taper le texte la macro s'exécute, j'ai dû modifier la macro à :
If Target.Column = 6.......
Target.Offset(, 0)
Target.Offset(, 9).Select

Cela fonctionne bien
Est-ce la bonne façon de faire?

Merci
Albert


Re...
'------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 5 And Target.Row > 1 Then
Range(Cells(Target.Row - 1, 6), Cells(Target.Row - 1, 13)).Copy Target.Offset(, 1)
Target.Offset(, 9).Select
End If
End Sub
'---------------
Je ne comprends pas
Copy Target.Offset(, 2) et Target.Offset(, 10).Select




DEVENU
Target.Offset(, 1) et Target.Offset(, 9).Select

"Target.Offset(, 1)" décale la sélection de 1 vers la droite (colonne F) et
commence la copie jusqu'a la colonne M (13)
"Target.Offset(, 9).Select" décale de 9 colonnes vers la droite soit colonne N
c'est l'équivalent de " Range("N" & Target.Row).Select"

Le tout a condition que la cellule en cours de sélection soit en colonne 5 (E) et au moins en ligne 2
--
Salutations
JJ







Avatar
Albert
Salutations

"Jacky" a écrit dans le message de
news:k4qfa3$ka4$
Re..
aussitôt la colonne E atteinte, avant de taper le texte la macro
s'exécute,


Ceci est un comportement normal
Cela fonctionne bien


Quand cela fonctionne comme on le souhaite "ON NE TOUCHE PLUS" ;o)))))
Est-ce la bonne façon de faire?


Je ne sais pas ce que ton projet doit réaliser, mais perso.
je ne me sers pas d'une sélection de cellule pour faire une copie.
Salutations
JJ



Merci, cela fonctionne bien je ne touche plus.

Ce que j'essaie de faire, je recommence un troisième fichier qui aura
éventuellement 500 lignes, les colonnes A à E contiendront les données, et
les colonnes F à M les formules qui totalisent le tout, la colonne N un
commentaire.
Les formules ont tous des SI=0 ou Si>1 pour empêcher l'affichage des zéros
et de #Valeur, #DIV/0!, etc...
Et il faut tirer ces 8 colonnes de formules sur 500 lignes.

J'ai pensé que si on copie les formules au fur et à mesure qu'on ajoute les
lignes, les SI et autres conditions d'affichages ne sont plus requises. Ce
qui simplifie les formules et allège la feuille.
Voilà

Vos commentaires sont bienvenus


--
albertri-at-videotron.ca.invalid
1 2