macro pour insérer lignes

Le
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
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #2117951
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" 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
pierre
Le #2117631
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"
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"
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





MichDenis
Le #2117611
Bonjour Pierre,

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


Salutations!


"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"
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"
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





jps
Le #2117601
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" news:
Bonjour Pierre,

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


Salutations!


"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"
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"
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










pierre
Le #2117591
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"
Bonjour Pierre,

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


Salutations!


"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"
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"
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










MichDenis
Le #2117571
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" 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"
Bonjour Pierre,

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


Salutations!


"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"
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"
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










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

Pierre


"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" %
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"
Bonjour Pierre,

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


Salutations!


"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"
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"
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















MichDenis
Le #2138581
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 :
Salutations!





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

Pierre


"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" %
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"
Bonjour Pierre,

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


Salutations!


"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"
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"
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















pierre
Le #2138541
Bonjour Michdenis,

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

Bonne journée
pierre

"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 :
Salutations!





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

Pierre


"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" %
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"
Bonjour Pierre,

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


Salutations!


"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"
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"
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




















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

"pierre" news:
Bonjour Michdenis,

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


Bonne journée
pierre

"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 :
Salutations!





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

Pierre


"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" %
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"
Bonjour Pierre,

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


Salutations!


"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"
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"
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
























Publicité
Poster une réponse
Anonyme