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

macro pour insérer lignes

12 réponses
Avatar
pierre
Bonsoir,

Je voudrais insérer une plage de texte (feuille1!A1: A4) dans ma feuille2
entre les lignes A2 et A4 . Je fais bêtement un copier et insérer les
cellules copiées mais j'ai besoin d'automatiser pour gagner du temps. Il
faudrait que ma plage de cellule, qui comporte 4 lignes s'insère dans
feuille2 en A3 jusqu'à A7 et fasse descendre en A8 les données de A4. It's
possible?

pierre

10 réponses

1 2
Avatar
MichDenis
Bonjour Pierre,


La macro qui suit copie les données de la plage de cellules A1:A4 de la feuille1 vers la feuille2

Sur la feuille2, la procédure insère le nombre de lignes nécessaires à la copie des données de la feuille1 à partir de
la ligne A3 . En conséquence, les données seront copiées en A3:A6, les données présentes se retrouvant à la suite ...

'------------------------------
Sub CopierInserer()

Dim Rg As Range

With Worksheets("Feuil1")
Set Rg = .Range("A1:A4")
End With

With Worksheets("Feuil2")
.Range("A3:A" & Rg.Rows.Count + 2).Insert (xlDown)
Rg.Copy .Range("A3")
End With

Set Rg = Nothing

End Sub
'------------------------------


Salutations!



"pierre" a écrit dans le message de news:
Bonsoir,

Je voudrais insérer une plage de texte (feuille1!A1: A4) dans ma feuille2
entre les lignes A2 et A4 . Je fais bêtement un copier et insérer les
cellules copiées mais j'ai besoin d'automatiser pour gagner du temps. Il
faudrait que ma plage de cellule, qui comporte 4 lignes s'insère dans
feuille2 en A3 jusqu'à A7 et fasse descendre en A8 les données de A4. It's
possible?

pierre
Avatar
pierre
Bonsoir MichDenis,

Merci pour ta réponse. J'ai recopié ta macro dans MVB de ma feuil2 et rien!
Ci-dessous macro recopié (mes feuilles s'intitulent bien feuil1 et feuil2):

Sub CopierInserer()

Dim Rg As Range

With Worksheets("Feuil1")
Set Rg = .Range("A1:A4")
End With

With Worksheets("Feuil2")
.Range("A3:A" & Rg.Rows.Count + 2).Insert (xlDown)
Rg.Copy .Range("A3")
End With

Set Rg = Nothing

End Sub

pierre

"MichDenis" a écrit dans le message de news:

Bonjour Pierre,


La macro qui suit copie les données de la plage de cellules A1:A4 de la
feuille1 vers la feuille2

Sur la feuille2, la procédure insère le nombre de lignes nécessaires à la
copie des données de la feuille1 à partir de
la ligne A3 . En conséquence, les données seront copiées en A3:A6, les
données présentes se retrouvant à la suite ...

'------------------------------
Sub CopierInserer()

Dim Rg As Range

With Worksheets("Feuil1")
Set Rg = .Range("A1:A4")
End With

With Worksheets("Feuil2")
.Range("A3:A" & Rg.Rows.Count + 2).Insert (xlDown)
Rg.Copy .Range("A3")
End With

Set Rg = Nothing

End Sub
'------------------------------


Salutations!



"pierre" a écrit dans le message de news:

Bonsoir,

Je voudrais insérer une plage de texte (feuille1!A1: A4) dans ma feuille2
entre les lignes A2 et A4 . Je fais bêtement un copier et insérer les
cellules copiées mais j'ai besoin d'automatiser pour gagner du temps. Il
faudrait que ma plage de cellule, qui comporte 4 lignes s'insère dans
feuille2 en A3 jusqu'à A7 et fasse descendre en A8 les données de A4. It's
possible?

pierre





Avatar
MichDenis
Bonjour Pierre,

Télécharge ce fichier exemple : http://cjoint.com/?dtv62SE6Qa


Salutations!


"pierre" a écrit dans le message de news: %
Bonsoir MichDenis,

Merci pour ta réponse. J'ai recopié ta macro dans MVB de ma feuil2 et rien!
Ci-dessous macro recopié (mes feuilles s'intitulent bien feuil1 et feuil2):

Sub CopierInserer()

Dim Rg As Range

With Worksheets("Feuil1")
Set Rg = .Range("A1:A4")
End With

With Worksheets("Feuil2")
.Range("A3:A" & Rg.Rows.Count + 2).Insert (xlDown)
Rg.Copy .Range("A3")
End With

Set Rg = Nothing

End Sub

pierre

"MichDenis" a écrit dans le message de news:

Bonjour Pierre,


La macro qui suit copie les données de la plage de cellules A1:A4 de la
feuille1 vers la feuille2

Sur la feuille2, la procédure insère le nombre de lignes nécessaires à la
copie des données de la feuille1 à partir de
la ligne A3 . En conséquence, les données seront copiées en A3:A6, les
données présentes se retrouvant à la suite ...

'------------------------------
Sub CopierInserer()

Dim Rg As Range

With Worksheets("Feuil1")
Set Rg = .Range("A1:A4")
End With

With Worksheets("Feuil2")
.Range("A3:A" & Rg.Rows.Count + 2).Insert (xlDown)
Rg.Copy .Range("A3")
End With

Set Rg = Nothing

End Sub
'------------------------------


Salutations!



"pierre" a écrit dans le message de news:

Bonsoir,

Je voudrais insérer une plage de texte (feuille1!A1: A4) dans ma feuille2
entre les lignes A2 et A4 . Je fais bêtement un copier et insérer les
cellules copiées mais j'ai besoin d'automatiser pour gagner du temps. Il
faudrait que ma plage de cellule, qui comporte 4 lignes s'insère dans
feuille2 en A3 jusqu'à A7 et fasse descendre en A8 les données de A4. It's
possible?

pierre





Avatar
jps
je ne suis pas allé à la pêche au classeur de denis, pierre, mais il y a de
fortes chances que sa procédure soit écrite dans un module et non dans la
page de code de la feuil2, comme tu as fait...
jps

"MichDenis" a écrit dans le message de
news:
Bonjour Pierre,

Télécharge ce fichier exemple : http://cjoint.com/?dtv62SE6Qa


Salutations!


"pierre" a écrit dans le message de news:
%

Bonsoir MichDenis,

Merci pour ta réponse. J'ai recopié ta macro dans MVB de ma feuil2 et
rien!

Ci-dessous macro recopié (mes feuilles s'intitulent bien feuil1 et
feuil2):


Sub CopierInserer()

Dim Rg As Range

With Worksheets("Feuil1")
Set Rg = .Range("A1:A4")
End With

With Worksheets("Feuil2")
.Range("A3:A" & Rg.Rows.Count + 2).Insert (xlDown)
Rg.Copy .Range("A3")
End With

Set Rg = Nothing

End Sub

pierre

"MichDenis" a écrit dans le message de news:

Bonjour Pierre,


La macro qui suit copie les données de la plage de cellules A1:A4 de la
feuille1 vers la feuille2

Sur la feuille2, la procédure insère le nombre de lignes nécessaires à
la


copie des données de la feuille1 à partir de
la ligne A3 . En conséquence, les données seront copiées en A3:A6, les
données présentes se retrouvant à la suite ...

'------------------------------
Sub CopierInserer()

Dim Rg As Range

With Worksheets("Feuil1")
Set Rg = .Range("A1:A4")
End With

With Worksheets("Feuil2")
.Range("A3:A" & Rg.Rows.Count + 2).Insert (xlDown)
Rg.Copy .Range("A3")
End With

Set Rg = Nothing

End Sub
'------------------------------


Salutations!



"pierre" a écrit dans le message de news:

Bonsoir,

Je voudrais insérer une plage de texte (feuille1!A1: A4) dans ma
feuille2


entre les lignes A2 et A4 . Je fais bêtement un copier et insérer les
cellules copiées mais j'ai besoin d'automatiser pour gagner du temps. Il
faudrait que ma plage de cellule, qui comporte 4 lignes s'insère dans
feuille2 en A3 jusqu'à A7 et fasse descendre en A8 les données de A4.
It's


possible?

pierre










Avatar
pierre
Je te remercie cela marche. Par contre je ne connaissais pas le dossier
module!
Est ce que cette macro marche avec une condition "si" du genre:
=Si (feuil2!A1>0; recopie et insère feuil1!A1:A4 dans feuil2!A3) ?????

Merci d'avance pour ta réponse
Pierre

"MichDenis" a écrit dans le message de news:

Bonjour Pierre,

Télécharge ce fichier exemple : http://cjoint.com/?dtv62SE6Qa


Salutations!


"pierre" a écrit dans le message de news:
%
Bonsoir MichDenis,

Merci pour ta réponse. J'ai recopié ta macro dans MVB de ma feuil2 et
rien!
Ci-dessous macro recopié (mes feuilles s'intitulent bien feuil1 et
feuil2):

Sub CopierInserer()

Dim Rg As Range

With Worksheets("Feuil1")
Set Rg = .Range("A1:A4")
End With

With Worksheets("Feuil2")
.Range("A3:A" & Rg.Rows.Count + 2).Insert (xlDown)
Rg.Copy .Range("A3")
End With

Set Rg = Nothing

End Sub

pierre

"MichDenis" a écrit dans le message de news:

Bonjour Pierre,


La macro qui suit copie les données de la plage de cellules A1:A4 de la
feuille1 vers la feuille2

Sur la feuille2, la procédure insère le nombre de lignes nécessaires à la
copie des données de la feuille1 à partir de
la ligne A3 . En conséquence, les données seront copiées en A3:A6, les
données présentes se retrouvant à la suite ...

'------------------------------
Sub CopierInserer()

Dim Rg As Range

With Worksheets("Feuil1")
Set Rg = .Range("A1:A4")
End With

With Worksheets("Feuil2")
.Range("A3:A" & Rg.Rows.Count + 2).Insert (xlDown)
Rg.Copy .Range("A3")
End With

Set Rg = Nothing

End Sub
'------------------------------


Salutations!



"pierre" a écrit dans le message de news:

Bonsoir,

Je voudrais insérer une plage de texte (feuille1!A1: A4) dans ma feuille2
entre les lignes A2 et A4 . Je fais bêtement un copier et insérer les
cellules copiées mais j'ai besoin d'automatiser pour gagner du temps. Il
faudrait que ma plage de cellule, qui comporte 4 lignes s'insère dans
feuille2 en A3 jusqu'à A7 et fasse descendre en A8 les données de A4.
It's
possible?

pierre










Avatar
MichDenis
Bonjour Pierre,

La correction que tu désires a été effectué.

'-------------------------------
Sub CopierInserer()

Dim Rg As Range

With Worksheets("Feuil1")
Set Rg = .Range("A1:A4")
End With

With Worksheets("Feuil2")
If .Range("A1") > 0 Then
.Range("A3:A" & Rg.Rows.Count + 2).Insert (xlDown)
Rg.Copy .Range("A3")
End If
End With

Set Rg = Nothing

End Sub
'-------------------------------


Salutations!



"pierre" a écrit dans le message de news: %
Je te remercie cela marche. Par contre je ne connaissais pas le dossier
module!
Est ce que cette macro marche avec une condition "si" du genre:
=Si (feuil2!A1>0; recopie et insère feuil1!A1:A4 dans feuil2!A3) ?????

Merci d'avance pour ta réponse
Pierre

"MichDenis" a écrit dans le message de news:

Bonjour Pierre,

Télécharge ce fichier exemple : http://cjoint.com/?dtv62SE6Qa


Salutations!


"pierre" a écrit dans le message de news:
%
Bonsoir MichDenis,

Merci pour ta réponse. J'ai recopié ta macro dans MVB de ma feuil2 et
rien!
Ci-dessous macro recopié (mes feuilles s'intitulent bien feuil1 et
feuil2):

Sub CopierInserer()

Dim Rg As Range

With Worksheets("Feuil1")
Set Rg = .Range("A1:A4")
End With

With Worksheets("Feuil2")
.Range("A3:A" & Rg.Rows.Count + 2).Insert (xlDown)
Rg.Copy .Range("A3")
End With

Set Rg = Nothing

End Sub

pierre

"MichDenis" a écrit dans le message de news:

Bonjour Pierre,


La macro qui suit copie les données de la plage de cellules A1:A4 de la
feuille1 vers la feuille2

Sur la feuille2, la procédure insère le nombre de lignes nécessaires à la
copie des données de la feuille1 à partir de
la ligne A3 . En conséquence, les données seront copiées en A3:A6, les
données présentes se retrouvant à la suite ...

'------------------------------
Sub CopierInserer()

Dim Rg As Range

With Worksheets("Feuil1")
Set Rg = .Range("A1:A4")
End With

With Worksheets("Feuil2")
.Range("A3:A" & Rg.Rows.Count + 2).Insert (xlDown)
Rg.Copy .Range("A3")
End With

Set Rg = Nothing

End Sub
'------------------------------


Salutations!



"pierre" a écrit dans le message de news:

Bonsoir,

Je voudrais insérer une plage de texte (feuille1!A1: A4) dans ma feuille2
entre les lignes A2 et A4 . Je fais bêtement un copier et insérer les
cellules copiées mais j'ai besoin d'automatiser pour gagner du temps. Il
faudrait que ma plage de cellule, qui comporte 4 lignes s'insère dans
feuille2 en A3 jusqu'à A7 et fasse descendre en A8 les données de A4.
It's
possible?

pierre










Avatar
pierre
Merci beaucoup,
c'est exactement ce que je voulais! Par contre à quoi sert un module par
rapports à objets?

Pierre


"MichDenis" a écrit dans le message de news:

Bonjour Pierre,

La correction que tu désires a été effectué.

'-------------------------------
Sub CopierInserer()

Dim Rg As Range

With Worksheets("Feuil1")
Set Rg = .Range("A1:A4")
End With

With Worksheets("Feuil2")
If .Range("A1") > 0 Then
.Range("A3:A" & Rg.Rows.Count + 2).Insert (xlDown)
Rg.Copy .Range("A3")
End If
End With

Set Rg = Nothing

End Sub
'-------------------------------


Salutations!



"pierre" a écrit dans le message de news:
%
Je te remercie cela marche. Par contre je ne connaissais pas le dossier
module!
Est ce que cette macro marche avec une condition "si" du genre:
=Si (feuil2!A1>0; recopie et insère feuil1!A1:A4 dans feuil2!A3) ?????

Merci d'avance pour ta réponse
Pierre

"MichDenis" a écrit dans le message de news:

Bonjour Pierre,

Télécharge ce fichier exemple : http://cjoint.com/?dtv62SE6Qa


Salutations!


"pierre" a écrit dans le message de news:
%
Bonsoir MichDenis,

Merci pour ta réponse. J'ai recopié ta macro dans MVB de ma feuil2 et
rien!
Ci-dessous macro recopié (mes feuilles s'intitulent bien feuil1 et
feuil2):

Sub CopierInserer()

Dim Rg As Range

With Worksheets("Feuil1")
Set Rg = .Range("A1:A4")
End With

With Worksheets("Feuil2")
.Range("A3:A" & Rg.Rows.Count + 2).Insert (xlDown)
Rg.Copy .Range("A3")
End With

Set Rg = Nothing

End Sub

pierre

"MichDenis" a écrit dans le message de news:

Bonjour Pierre,


La macro qui suit copie les données de la plage de cellules A1:A4 de la
feuille1 vers la feuille2

Sur la feuille2, la procédure insère le nombre de lignes nécessaires à
la
copie des données de la feuille1 à partir de
la ligne A3 . En conséquence, les données seront copiées en A3:A6, les
données présentes se retrouvant à la suite ...

'------------------------------
Sub CopierInserer()

Dim Rg As Range

With Worksheets("Feuil1")
Set Rg = .Range("A1:A4")
End With

With Worksheets("Feuil2")
.Range("A3:A" & Rg.Rows.Count + 2).Insert (xlDown)
Rg.Copy .Range("A3")
End With

Set Rg = Nothing

End Sub
'------------------------------


Salutations!



"pierre" a écrit dans le message de news:

Bonsoir,

Je voudrais insérer une plage de texte (feuille1!A1: A4) dans ma
feuille2
entre les lignes A2 et A4 . Je fais bêtement un copier et insérer les
cellules copiées mais j'ai besoin d'automatiser pour gagner du temps. Il
faudrait que ma plage de cellule, qui comporte 4 lignes s'insère dans
feuille2 en A3 jusqu'à A7 et fasse descendre en A8 les données de A4.
It's
possible?

pierre















Avatar
MichDenis
Bonjour Pierre,

Pour simplifier, les modules Feuille (module de classe) reçoivent habituellement le code qui leur est réservé soit par
les événements qui leur sont propres ou soient par les objets appartenant à ces feuilles comme des boutons de
commande... Listbox, graphe....
En contrepartie, les modules "Standard " accueillent les macros (Procédures et Fonctions personnalisées) qui
s'appliquent généralement à l'ensemble du classeur ou qui impliquent plusieurs feuilles ou objets appartenant au
classeur.

Le sujet est beaucoup trop vaste pour entrer dans les détails... sauf qu'il faut se rappeler que malgré toutes les
nuances possibles, la ligne de démarcation entre les 2 n'est pas toujours évidente. Cependant, la façon de faire
référence aux objets est différente selon que le code est écrit dans un module feuille ou un module standard. La
déclaration de variables et leur étendue sont aussi différentes selon l'endroit où elle est faite!

Si la chose t'intéresse vraiment, la consultation d'un bouquin sur le sujet s'impose. Il y a, je crois, un début de
bibliographie à cette adresse : <http://www.excelabo.net>

Salutations!





"pierre" a écrit dans le message de news: ukS8d%
Merci beaucoup,
c'est exactement ce que je voulais! Par contre à quoi sert un module par
rapports à objets?

Pierre


"MichDenis" a écrit dans le message de news:

Bonjour Pierre,

La correction que tu désires a été effectué.

'-------------------------------
Sub CopierInserer()

Dim Rg As Range

With Worksheets("Feuil1")
Set Rg = .Range("A1:A4")
End With

With Worksheets("Feuil2")
If .Range("A1") > 0 Then
.Range("A3:A" & Rg.Rows.Count + 2).Insert (xlDown)
Rg.Copy .Range("A3")
End If
End With

Set Rg = Nothing

End Sub
'-------------------------------


Salutations!



"pierre" a écrit dans le message de news:
%
Je te remercie cela marche. Par contre je ne connaissais pas le dossier
module!
Est ce que cette macro marche avec une condition "si" du genre:
=Si (feuil2!A1>0; recopie et insère feuil1!A1:A4 dans feuil2!A3) ?????

Merci d'avance pour ta réponse
Pierre

"MichDenis" a écrit dans le message de news:

Bonjour Pierre,

Télécharge ce fichier exemple : http://cjoint.com/?dtv62SE6Qa


Salutations!


"pierre" a écrit dans le message de news:
%
Bonsoir MichDenis,

Merci pour ta réponse. J'ai recopié ta macro dans MVB de ma feuil2 et
rien!
Ci-dessous macro recopié (mes feuilles s'intitulent bien feuil1 et
feuil2):

Sub CopierInserer()

Dim Rg As Range

With Worksheets("Feuil1")
Set Rg = .Range("A1:A4")
End With

With Worksheets("Feuil2")
.Range("A3:A" & Rg.Rows.Count + 2).Insert (xlDown)
Rg.Copy .Range("A3")
End With

Set Rg = Nothing

End Sub

pierre

"MichDenis" a écrit dans le message de news:

Bonjour Pierre,


La macro qui suit copie les données de la plage de cellules A1:A4 de la
feuille1 vers la feuille2

Sur la feuille2, la procédure insère le nombre de lignes nécessaires à
la
copie des données de la feuille1 à partir de
la ligne A3 . En conséquence, les données seront copiées en A3:A6, les
données présentes se retrouvant à la suite ...

'------------------------------
Sub CopierInserer()

Dim Rg As Range

With Worksheets("Feuil1")
Set Rg = .Range("A1:A4")
End With

With Worksheets("Feuil2")
.Range("A3:A" & Rg.Rows.Count + 2).Insert (xlDown)
Rg.Copy .Range("A3")
End With

Set Rg = Nothing

End Sub
'------------------------------


Salutations!



"pierre" a écrit dans le message de news:

Bonsoir,

Je voudrais insérer une plage de texte (feuille1!A1: A4) dans ma
feuille2
entre les lignes A2 et A4 . Je fais bêtement un copier et insérer les
cellules copiées mais j'ai besoin d'automatiser pour gagner du temps. Il
faudrait que ma plage de cellule, qui comporte 4 lignes s'insère dans
feuille2 en A3 jusqu'à A7 et fasse descendre en A8 les données de A4.
It's
possible?

pierre















Avatar
pierre
Bonjour Michdenis,

Je te remercie pour tes éclaircissements et je vais de ce pas sur excelabo.

Bonne journée
pierre

"MichDenis" a écrit dans le message de news:
%
Bonjour Pierre,

Pour simplifier, les modules Feuille (module de classe) reçoivent
habituellement le code qui leur est réservé soit par
les événements qui leur sont propres ou soient par les objets appartenant
à ces feuilles comme des boutons de
commande... Listbox, graphe....
En contrepartie, les modules "Standard " accueillent les macros
(Procédures et Fonctions personnalisées) qui
s'appliquent généralement à l'ensemble du classeur ou qui impliquent
plusieurs feuilles ou objets appartenant au
classeur.

Le sujet est beaucoup trop vaste pour entrer dans les détails... sauf
qu'il faut se rappeler que malgré toutes les
nuances possibles, la ligne de démarcation entre les 2 n'est pas toujours
évidente. Cependant, la façon de faire
référence aux objets est différente selon que le code est écrit dans un
module feuille ou un module standard. La
déclaration de variables et leur étendue sont aussi différentes selon
l'endroit où elle est faite!

Si la chose t'intéresse vraiment, la consultation d'un bouquin sur le
sujet s'impose. Il y a, je crois, un début de
bibliographie à cette adresse : <http://www.excelabo.net>

Salutations!





"pierre" a écrit dans le message de news:
ukS8d%
Merci beaucoup,
c'est exactement ce que je voulais! Par contre à quoi sert un module par
rapports à objets?

Pierre


"MichDenis" a écrit dans le message de news:

Bonjour Pierre,

La correction que tu désires a été effectué.

'-------------------------------
Sub CopierInserer()

Dim Rg As Range

With Worksheets("Feuil1")
Set Rg = .Range("A1:A4")
End With

With Worksheets("Feuil2")
If .Range("A1") > 0 Then
.Range("A3:A" & Rg.Rows.Count + 2).Insert (xlDown)
Rg.Copy .Range("A3")
End If
End With

Set Rg = Nothing

End Sub
'-------------------------------


Salutations!



"pierre" a écrit dans le message de news:
%
Je te remercie cela marche. Par contre je ne connaissais pas le dossier
module!
Est ce que cette macro marche avec une condition "si" du genre:
=Si (feuil2!A1>0; recopie et insère feuil1!A1:A4 dans feuil2!A3) ?????

Merci d'avance pour ta réponse
Pierre

"MichDenis" a écrit dans le message de news:

Bonjour Pierre,

Télécharge ce fichier exemple : http://cjoint.com/?dtv62SE6Qa


Salutations!


"pierre" a écrit dans le message de news:
%
Bonsoir MichDenis,

Merci pour ta réponse. J'ai recopié ta macro dans MVB de ma feuil2 et
rien!
Ci-dessous macro recopié (mes feuilles s'intitulent bien feuil1 et
feuil2):

Sub CopierInserer()

Dim Rg As Range

With Worksheets("Feuil1")
Set Rg = .Range("A1:A4")
End With

With Worksheets("Feuil2")
.Range("A3:A" & Rg.Rows.Count + 2).Insert (xlDown)
Rg.Copy .Range("A3")
End With

Set Rg = Nothing

End Sub

pierre

"MichDenis" a écrit dans le message de news:

Bonjour Pierre,


La macro qui suit copie les données de la plage de cellules A1:A4 de la
feuille1 vers la feuille2

Sur la feuille2, la procédure insère le nombre de lignes nécessaires à
la
copie des données de la feuille1 à partir de
la ligne A3 . En conséquence, les données seront copiées en A3:A6, les
données présentes se retrouvant à la suite ...

'------------------------------
Sub CopierInserer()

Dim Rg As Range

With Worksheets("Feuil1")
Set Rg = .Range("A1:A4")
End With

With Worksheets("Feuil2")
.Range("A3:A" & Rg.Rows.Count + 2).Insert (xlDown)
Rg.Copy .Range("A3")
End With

Set Rg = Nothing

End Sub
'------------------------------


Salutations!



"pierre" a écrit dans le message de news:

Bonsoir,

Je voudrais insérer une plage de texte (feuille1!A1: A4) dans ma
feuille2
entre les lignes A2 et A4 . Je fais bêtement un copier et insérer les
cellules copiées mais j'ai besoin d'automatiser pour gagner du temps.
Il
faudrait que ma plage de cellule, qui comporte 4 lignes s'insère dans
feuille2 en A3 jusqu'à A7 et fasse descendre en A8 les données de A4.
It's
possible?

pierre




















Avatar
jps
et pas un mot pour moi, pierre?
t'aurais-je dit des c.....ies par zazar?
jps

"pierre" a écrit dans le message de
news:
Bonjour Michdenis,

Je te remercie pour tes éclaircissements et je vais de ce pas sur
excelabo.


Bonne journée
pierre

"MichDenis" a écrit dans le message de news:
%
Bonjour Pierre,

Pour simplifier, les modules Feuille (module de classe) reçoivent
habituellement le code qui leur est réservé soit par
les événements qui leur sont propres ou soient par les objets
appartenant


à ces feuilles comme des boutons de
commande... Listbox, graphe....
En contrepartie, les modules "Standard " accueillent les macros
(Procédures et Fonctions personnalisées) qui
s'appliquent généralement à l'ensemble du classeur ou qui impliquent
plusieurs feuilles ou objets appartenant au
classeur.

Le sujet est beaucoup trop vaste pour entrer dans les détails... sauf
qu'il faut se rappeler que malgré toutes les
nuances possibles, la ligne de démarcation entre les 2 n'est pas
toujours


évidente. Cependant, la façon de faire
référence aux objets est différente selon que le code est écrit dans un
module feuille ou un module standard. La
déclaration de variables et leur étendue sont aussi différentes selon
l'endroit où elle est faite!

Si la chose t'intéresse vraiment, la consultation d'un bouquin sur le
sujet s'impose. Il y a, je crois, un début de
bibliographie à cette adresse : <http://www.excelabo.net>

Salutations!





"pierre" a écrit dans le message de news:
ukS8d%
Merci beaucoup,
c'est exactement ce que je voulais! Par contre à quoi sert un module par
rapports à objets?

Pierre


"MichDenis" a écrit dans le message de news:

Bonjour Pierre,

La correction que tu désires a été effectué.

'-------------------------------
Sub CopierInserer()

Dim Rg As Range

With Worksheets("Feuil1")
Set Rg = .Range("A1:A4")
End With

With Worksheets("Feuil2")
If .Range("A1") > 0 Then
.Range("A3:A" & Rg.Rows.Count + 2).Insert (xlDown)
Rg.Copy .Range("A3")
End If
End With

Set Rg = Nothing

End Sub
'-------------------------------


Salutations!



"pierre" a écrit dans le message de news:
%
Je te remercie cela marche. Par contre je ne connaissais pas le dossier
module!
Est ce que cette macro marche avec une condition "si" du genre:
=Si (feuil2!A1>0; recopie et insère feuil1!A1:A4 dans feuil2!A3) ?????

Merci d'avance pour ta réponse
Pierre

"MichDenis" a écrit dans le message de news:

Bonjour Pierre,

Télécharge ce fichier exemple : http://cjoint.com/?dtv62SE6Qa


Salutations!


"pierre" a écrit dans le message de news:
%
Bonsoir MichDenis,

Merci pour ta réponse. J'ai recopié ta macro dans MVB de ma feuil2 et
rien!
Ci-dessous macro recopié (mes feuilles s'intitulent bien feuil1 et
feuil2):

Sub CopierInserer()

Dim Rg As Range

With Worksheets("Feuil1")
Set Rg = .Range("A1:A4")
End With

With Worksheets("Feuil2")
.Range("A3:A" & Rg.Rows.Count + 2).Insert (xlDown)
Rg.Copy .Range("A3")
End With

Set Rg = Nothing

End Sub

pierre

"MichDenis" a écrit dans le message de news:

Bonjour Pierre,


La macro qui suit copie les données de la plage de cellules A1:A4 de
la





feuille1 vers la feuille2

Sur la feuille2, la procédure insère le nombre de lignes nécessaires
à





la
copie des données de la feuille1 à partir de
la ligne A3 . En conséquence, les données seront copiées en A3:A6,
les





données présentes se retrouvant à la suite ...

'------------------------------
Sub CopierInserer()

Dim Rg As Range

With Worksheets("Feuil1")
Set Rg = .Range("A1:A4")
End With

With Worksheets("Feuil2")
.Range("A3:A" & Rg.Rows.Count + 2).Insert (xlDown)
Rg.Copy .Range("A3")
End With

Set Rg = Nothing

End Sub
'------------------------------


Salutations!



"pierre" a écrit dans le message de news:

Bonsoir,

Je voudrais insérer une plage de texte (feuille1!A1: A4) dans ma
feuille2
entre les lignes A2 et A4 . Je fais bêtement un copier et insérer les
cellules copiées mais j'ai besoin d'automatiser pour gagner du temps.
Il
faudrait que ma plage de cellule, qui comporte 4 lignes s'insère
dans





feuille2 en A3 jusqu'à A7 et fasse descendre en A8 les données de A4.
It's
possible?

pierre
























1 2