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

Macro copier coller, décaler vers le bas si cellule pleine.

5 réponses
Avatar
Anatole
Bonjour,
J'aimerais savoir comment faire pour faire une macro qui va copier du
classeur 1 vers le classeur 2 qui sont tous les deux ouverts.

exemple on va copier du classeur donneur se qui se trouve en cellule H4 ,
H9 h H5 vers le classeur 2 qui le classeur receveur.

Mais le classeur receveur va stocker H4 en A4 si vide si non
prendre la cellule en dessous. c'est A5 ainsi de suite.
H9 en C9 si
vide si non prendre la cellule en dessous , c'est à dire C10 ainsi de suite.
H 5 en F5
si vide si non prendre la cellule en dessous F6 ainsi de suite.

info : sur ligne 400 dans le classeur receveur je fait le total
de la colonne A - C - F qui totalise de A4 à 399. idem pou C et F.

Merci à vous.

Anatole.

5 réponses

Avatar
michdenis
ça pourrait ressembler à quelque chose comme ceci :

'-----------------------------
Sub test()
Dim R As Long
Dim Sh As Worksheet
Dim Sh1 As Worksheet

'À renseigner selon ton application :Classeur & Feuille
Set Sh = Worksbook("NomClasseurSource.xls").Worksheets("Feuil1")
Set Sh1 = Worksbook("NomClasseurDestination.xls").Worksheets("Feuil1")

With Sh1
R = .Range("A65536").End(xlUp)(2).Row
Range("A" & R) = Sh.Range("H4")
R = .Range("C65536").End(xlUp)(2).Row
Range("C" & R) = Sh.Range("H9")
R = .Range("F65536").End(xlUp)().Row
Range("F" & R) = Sh.Range("H5")
End With

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



"Anatole" a écrit dans le message de groupe de discussion :

Bonjour,
J'aimerais savoir comment faire pour faire une macro qui va copier du
classeur 1 vers le classeur 2 qui sont tous les deux ouverts.

exemple on va copier du classeur donneur se qui se trouve en cellule H4 ,
H9 h H5 vers le classeur 2 qui le classeur receveur.

Mais le classeur receveur va stocker H4 en A4 si vide si non
prendre la cellule en dessous. c'est A5 ainsi de suite.
H9 en C9 si
vide si non prendre la cellule en dessous , c'est à dire C10 ainsi de suite.
H 5 en F5
si vide si non prendre la cellule en dessous F6 ainsi de suite.

info : sur ligne 400 dans le classeur receveur je fait le total
de la colonne A - C - F qui totalise de A4 à 399. idem pou C et F.

Merci à vous.

Anatole.
Avatar
Jacky
Bonjour Denis,

Ma curiosité m'a fait tester cette façon de faire, mais..

Y aurait pas un "s" qui se serait involontairement déplacé dans " Worksbook"
Sauf erreur un point devant les "Range("A" & R) = " a curieusement disparu
End(xlUp)(). ???
;o))))
--
Salutations
JJ


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

ça pourrait ressembler à quelque chose comme ceci :

'-----------------------------
Sub test()
Dim R As Long
Dim Sh As Worksheet
Dim Sh1 As Worksheet

'À renseigner selon ton application :Classeur & Feuille
Set Sh =("NomClasseurSource.xls").Worksheets("Feuil1")
Set Sh1 = Worksbook("NomClasseurDestination.xls").Worksheets("Feuil1")

With Sh1
R = .Range("A65536").End(xlUp)(2).Row
Range("A" & R) = Sh.Range("H4")
R = .Range("C65536").End(xlUp)(2).Row
Range("C" & R) = Sh.Range("H9")
R = .Range("F65536").End(xlUp)().Row
Range("F" & R) = Sh.Range("H5")
End With

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



"Anatole" a écrit dans le message de groupe de
discussion :

Bonjour,
J'aimerais savoir comment faire pour faire une macro qui va copier du
classeur 1 vers le classeur 2 qui sont tous les deux ouverts.

exemple on va copier du classeur donneur se qui se trouve en cellule H4
,
H9 h H5 vers le classeur 2 qui le classeur receveur.

Mais le classeur receveur va stocker H4 en A4 si vide si non
prendre la cellule en dessous. c'est A5 ainsi de suite.
H9 en C9
si
vide si non prendre la cellule en dessous , c'est à dire C10 ainsi de
suite.
H 5 en F5
si vide si non prendre la cellule en dessous F6 ainsi de suite.

info : sur ligne 400 dans le classeur receveur je fait le
total
de la colonne A - C - F qui totalise de A4 à 399. idem pou C et F.

Merci à vous.

Anatole.



Avatar
michdenis
Pour le S , tu as bien raison... c'est un code fait rapidement
sans test... ce n'était pas donner une façon possible de procéder.
Merci de l'avoir souligné, cela peut aider le demandeur.


"Jacky" a écrit dans le message de groupe de discussion :

Bonjour Denis,

Ma curiosité m'a fait tester cette façon de faire, mais..

Y aurait pas un "s" qui se serait involontairement déplacé dans " Worksbook"
Sauf erreur un point devant les "Range("A" & R) = " a curieusement disparu
End(xlUp)(). ???
;o))))
--
Salutations
JJ


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

ça pourrait ressembler à quelque chose comme ceci :

'-----------------------------
Sub test()
Dim R As Long
Dim Sh As Worksheet
Dim Sh1 As Worksheet

'À renseigner selon ton application :Classeur & Feuille
Set Sh =("NomClasseurSource.xls").Worksheets("Feuil1")
Set Sh1 = Worksbook("NomClasseurDestination.xls").Worksheets("Feuil1")

With Sh1
R = .Range("A65536").End(xlUp)(2).Row
Range("A" & R) = Sh.Range("H4")
R = .Range("C65536").End(xlUp)(2).Row
Range("C" & R) = Sh.Range("H9")
R = .Range("F65536").End(xlUp)().Row
Range("F" & R) = Sh.Range("H5")
End With

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



"Anatole" a écrit dans le message de groupe de
discussion :

Bonjour,
J'aimerais savoir comment faire pour faire une macro qui va copier du
classeur 1 vers le classeur 2 qui sont tous les deux ouverts.

exemple on va copier du classeur donneur se qui se trouve en cellule H4
,
H9 h H5 vers le classeur 2 qui le classeur receveur.

Mais le classeur receveur va stocker H4 en A4 si vide si non
prendre la cellule en dessous. c'est A5 ainsi de suite.
H9 en C9
si
vide si non prendre la cellule en dessous , c'est à dire C10 ainsi de
suite.
H 5 en F5
si vide si non prendre la cellule en dessous F6 ainsi de suite.

info : sur ligne 400 dans le classeur receveur je fait le
total
de la colonne A - C - F qui totalise de A4 à 399. idem pou C et F.

Merci à vous.

Anatole.



Avatar
michdenis
Sub test()
Dim R As Long
Dim Sh As Worksheet
Dim Sh1 As Worksheet

'Feuille source
Set Sh = ThisWorkbook.Worksheets("Feuil1")
'Feuille de destination
Set Sh1 = ThisWorkbook.Worksheets("Feuil2")

With Sh1
R = .Range("A65536").End(xlUp)(2).Row
Range("A" & R) = Sh.Range("H4")
R = .Range("C65536").End(xlUp)(2).Row
Range("C" & R) = Sh.Range("H9")
R = .Range("F65536").End(xlUp)().Row
Range("F" & R) = Sh.Range("H5")
End With
End Sub


"Anatole" a écrit dans le message de groupe de discussion :

Bonsoir,
Merci à Michdenis et JJ, j'ai réussi à adapter à feuille, cà fonctionne.
Juste une autre précion, si c'était à copier dans le même classeur mais de
feuille 1 a feuille 2 , qu'est ce qui faut changer dans les premières
ligne de la macro.
Merci par Anticipation et bonne soirée
Anatole.
"michdenis" a écrit dans le message de news:

ça pourrait ressembler à quelque chose comme ceci :

'-----------------------------
Sub test()
Dim R As Long
Dim Sh As Worksheet
Dim Sh1 As Worksheet

'À renseigner selon ton application :Classeur & Feuille
Set Sh = Worksbook("NomClasseurSource.xls").Worksheets("Feuil1")
Set Sh1 = Worksbook("NomClasseurDestination.xls").Worksheets("Feuil1")

With Sh1
R = .Range("A65536").End(xlUp)(2).Row
Range("A" & R) = Sh.Range("H4")
R = .Range("C65536").End(xlUp)(2).Row
Range("C" & R) = Sh.Range("H9")
R = .Range("F65536").End(xlUp)().Row
Range("F" & R) = Sh.Range("H5")
End With

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



"Anatole" a écrit dans le message de groupe de
discussion :

Bonjour,
J'aimerais savoir comment faire pour faire une macro qui va copier du
classeur 1 vers le classeur 2 qui sont tous les deux ouverts.

exemple on va copier du classeur donneur se qui se trouve en cellule H4
,
H9 h H5 vers le classeur 2 qui le classeur receveur.

Mais le classeur receveur va stocker H4 en A4 si vide si non
prendre la cellule en dessous. c'est A5 ainsi de suite.
H9 en C9
si
vide si non prendre la cellule en dessous , c'est à dire C10 ainsi de
suite.
H 5 en F5
si vide si non prendre la cellule en dessous F6 ainsi de suite.

info : sur ligne 400 dans le classeur receveur je fait le
total
de la colonne A - C - F qui totalise de A4 à 399. idem pou C et F.

Merci à vous.

Anatole.



Avatar
Anatole
Bonsoir,
Merci à Michdenis et JJ, j'ai réussi à adapter à feuille, cà fonctionne.
Juste une autre précion, si c'était à copier dans le même classeur mais de
feuille 1 a feuille 2 , qu'est ce qui faut changer dans les premières
ligne de la macro.
Merci par Anticipation et bonne soirée
Anatole.
"michdenis" a écrit dans le message de news:

ça pourrait ressembler à quelque chose comme ceci :

'-----------------------------
Sub test()
Dim R As Long
Dim Sh As Worksheet
Dim Sh1 As Worksheet

'À renseigner selon ton application :Classeur & Feuille
Set Sh = Worksbook("NomClasseurSource.xls").Worksheets("Feuil1")
Set Sh1 = Worksbook("NomClasseurDestination.xls").Worksheets("Feuil1")

With Sh1
R = .Range("A65536").End(xlUp)(2).Row
Range("A" & R) = Sh.Range("H4")
R = .Range("C65536").End(xlUp)(2).Row
Range("C" & R) = Sh.Range("H9")
R = .Range("F65536").End(xlUp)().Row
Range("F" & R) = Sh.Range("H5")
End With

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



"Anatole" a écrit dans le message de groupe de
discussion :

Bonjour,
J'aimerais savoir comment faire pour faire une macro qui va copier du
classeur 1 vers le classeur 2 qui sont tous les deux ouverts.

exemple on va copier du classeur donneur se qui se trouve en cellule H4
,
H9 h H5 vers le classeur 2 qui le classeur receveur.

Mais le classeur receveur va stocker H4 en A4 si vide si non
prendre la cellule en dessous. c'est A5 ainsi de suite.
H9 en C9
si
vide si non prendre la cellule en dessous , c'est à dire C10 ainsi de
suite.
H 5 en F5
si vide si non prendre la cellule en dessous F6 ainsi de suite.

info : sur ligne 400 dans le classeur receveur je fait le
total
de la colonne A - C - F qui totalise de A4 à 399. idem pou C et F.

Merci à vous.

Anatole.