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

Recopie lignes

3 réponses
Avatar
Bernard Flavignard
Bonjour à toutes et à tous.
J'ai un classeur avec n feuilles, la première se nomme "Invites".
Je voudrais recopier dans cette feuille et à partir de la ligne2 les contenus
des lignes 2 à 300 de chacune des autres feuilles de ce classeur en les mettant
à la suite dans la feuille "Invites"
Je fais un test sur le contenu de la colonne 3
Donc si la feuille 2 compte 25 lignes avec 1 en colonne 3, la feuille 3 30
lignes et la feuille 4 100 lignes, la feuille "Invites" contiendra 155 lignes.
Les lignes 1 de chaque feuille sont pour les titres en vue d'un mailing word.
J'ai trouvé, grace à vos précédentes interventions, des morceaux de code et j'ai
écrit ceci

'Recopie des lignes contenant un 1 en colonne 3
For i = 2 To ThisWorkbook.Sheets.Count
ThisWorkbook.Sheets(i).Activate
'on suppose ne pas avoir plus de 300 lignes dans chaque feuille
For j = 2 To 300
If Cells(j, 3) = "1" Then
Cells(j, 3).Activate
Rows(ActiveCell.Row).Copy
Sheets("Invites").[A65000].End(xlUp).Offset(1, 0)
End If
Next j
Next i

ça fonctionne si je joue la macro 1 fois, mais si je la rejoue il y a des
enregistrments qui en écrasent d'autres.
Et que signifie [A65000].End(xlUp).Offset(1, 0)
Merci de votre aide.
Bonne journée.

--
Bernard Flavignard
www.guidonchalettois.fr

3 réponses

Avatar
Bernard Flavignard
Re,
ça fonctionne si je joue la macro 1 fois, mais si je la rejoue il y a des
enregistrments qui en écrasent d'autres.


Ceci était du à un mauvais effacement du contenu de la feuille "Invites" avant
recopie.

Il me reste
Et que signifie [A65000].End(xlUp).Offset(1, 0)
A+

--
Bernard Flavignard
www.guidonchalettois.fr
"Bernard Flavignard" <be.flavi-chez-orange.fr> a écrit dans le message de news:
46c2bdcc$0$25951$
Bonjour à toutes et à tous.
J'ai un classeur avec n feuilles, la première se nomme "Invites".
Je voudrais recopier dans cette feuille et à partir de la ligne2 les contenus
des lignes 2 à 300 de chacune des autres feuilles de ce classeur en les
mettant à la suite dans la feuille "Invites"
Je fais un test sur le contenu de la colonne 3
Donc si la feuille 2 compte 25 lignes avec 1 en colonne 3, la feuille 3 30
lignes et la feuille 4 100 lignes, la feuille "Invites" contiendra 155 lignes.
Les lignes 1 de chaque feuille sont pour les titres en vue d'un mailing word.
J'ai trouvé, grace à vos précédentes interventions, des morceaux de code et
j'ai écrit ceci

'Recopie des lignes contenant un 1 en colonne 3
For i = 2 To ThisWorkbook.Sheets.Count
ThisWorkbook.Sheets(i).Activate
'on suppose ne pas avoir plus de 300 lignes dans chaque feuille
For j = 2 To 300
If Cells(j, 3) = "1" Then
Cells(j, 3).Activate
Rows(ActiveCell.Row).Copy
Sheets("Invites").[A65000].End(xlUp).Offset(1, 0)
End If
Next j
Next i

ça fonctionne si je joue la macro 1 fois, mais si je la rejoue il y a des
enregistrments qui en écrasent d'autres.
Et que signifie [A65000].End(xlUp).Offset(1, 0)
Merci de votre aide.
Bonne journée.

--
Bernard Flavignard
www.guidonchalettois.fr


Avatar
charabeuh
Bonjour,

[A65000].End(xlUp).Offset(1, 0)

A partir de la cellule A65000, remonte jusqu'à la première cellule non
vide. - [A65000].End(xlUp)
(équivalent à se placer en A65000 et à composer au clavier CTRL + "Flèche
vers le haut")

puis considère la cellule juste en dessous de la précédente - offset (0,1)

Cela doit correspondre à la ligne où copier les prochaines lignes.

slt


"Bernard Flavignard" <be.flavi-chez-orange.fr> a écrit dans le message de
news:46c2bfb5$0$27402$
Re,
ça fonctionne si je joue la macro 1 fois, mais si je la rejoue il y a des
enregistrments qui en écrasent d'autres.


Ceci était du à un mauvais effacement du contenu de la feuille "Invites"
avant recopie.

Il me reste
Et que signifie [A65000].End(xlUp).Offset(1, 0)
A+

--
Bernard Flavignard
www.guidonchalettois.fr
"Bernard Flavignard" <be.flavi-chez-orange.fr> a écrit dans le message de
news: 46c2bdcc$0$25951$
Bonjour à toutes et à tous.
J'ai un classeur avec n feuilles, la première se nomme "Invites".
Je voudrais recopier dans cette feuille et à partir de la ligne2 les
contenus des lignes 2 à 300 de chacune des autres feuilles de ce classeur
en les mettant à la suite dans la feuille "Invites"
Je fais un test sur le contenu de la colonne 3
Donc si la feuille 2 compte 25 lignes avec 1 en colonne 3, la feuille 3
30 lignes et la feuille 4 100 lignes, la feuille "Invites" contiendra 155
lignes.
Les lignes 1 de chaque feuille sont pour les titres en vue d'un mailing
word.
J'ai trouvé, grace à vos précédentes interventions, des morceaux de code
et j'ai écrit ceci

'Recopie des lignes contenant un 1 en colonne 3
For i = 2 To ThisWorkbook.Sheets.Count
ThisWorkbook.Sheets(i).Activate
'on suppose ne pas avoir plus de 300 lignes dans chaque feuille
For j = 2 To 300
If Cells(j, 3) = "1" Then
Cells(j, 3).Activate
Rows(ActiveCell.Row).Copy
Sheets("Invites").[A65000].End(xlUp).Offset(1, 0)
End If
Next j
Next i

ça fonctionne si je joue la macro 1 fois, mais si je la rejoue il y a des
enregistrments qui en écrasent d'autres.
Et que signifie [A65000].End(xlUp).Offset(1, 0)
Merci de votre aide.
Bonne journée.

--
Bernard Flavignard
www.guidonchalettois.fr





Avatar
Bernard Flavignard
Merci beaucoup.
Bonne journée
--
Bernard Flavignard
www.guidonchalettois.fr
"charabeuh" a écrit dans le message de news:

Bonjour,

[A65000].End(xlUp).Offset(1, 0)

A partir de la cellule A65000, remonte jusqu'à la première cellule non vide. -
[A65000].End(xlUp)
(équivalent à se placer en A65000 et à composer au clavier CTRL + "Flèche vers
le haut")

puis considère la cellule juste en dessous de la précédente - offset (0,1)

Cela doit correspondre à la ligne où copier les prochaines lignes.

slt


"Bernard Flavignard" <be.flavi-chez-orange.fr> a écrit dans le message de
news:46c2bfb5$0$27402$
Re,
ça fonctionne si je joue la macro 1 fois, mais si je la rejoue il y a des
enregistrments qui en écrasent d'autres.


Ceci était du à un mauvais effacement du contenu de la feuille "Invites"
avant recopie.

Il me reste
Et que signifie [A65000].End(xlUp).Offset(1, 0)
A+

--
Bernard Flavignard
www.guidonchalettois.fr
"Bernard Flavignard" <be.flavi-chez-orange.fr> a écrit dans le message de
news: 46c2bdcc$0$25951$
Bonjour à toutes et à tous.
J'ai un classeur avec n feuilles, la première se nomme "Invites".
Je voudrais recopier dans cette feuille et à partir de la ligne2 les
contenus des lignes 2 à 300 de chacune des autres feuilles de ce classeur en
les mettant à la suite dans la feuille "Invites"
Je fais un test sur le contenu de la colonne 3
Donc si la feuille 2 compte 25 lignes avec 1 en colonne 3, la feuille 3 30
lignes et la feuille 4 100 lignes, la feuille "Invites" contiendra 155
lignes.
Les lignes 1 de chaque feuille sont pour les titres en vue d'un mailing
word.
J'ai trouvé, grace à vos précédentes interventions, des morceaux de code et
j'ai écrit ceci

'Recopie des lignes contenant un 1 en colonne 3
For i = 2 To ThisWorkbook.Sheets.Count
ThisWorkbook.Sheets(i).Activate
'on suppose ne pas avoir plus de 300 lignes dans chaque feuille
For j = 2 To 300
If Cells(j, 3) = "1" Then
Cells(j, 3).Activate
Rows(ActiveCell.Row).Copy
Sheets("Invites").[A65000].End(xlUp).Offset(1, 0)
End If
Next j
Next i

ça fonctionne si je joue la macro 1 fois, mais si je la rejoue il y a des
enregistrments qui en écrasent d'autres.
Et que signifie [A65000].End(xlUp).Offset(1, 0)
Merci de votre aide.
Bonne journée.

--
Bernard Flavignard
www.guidonchalettois.fr