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

recopie de lignes sous Condition

4 réponses
Avatar
Michel TAF
Bonjour à tout le monde,

Voilà j'aimerai écrire en VBA, une condition du genre :

Dans une feuille excel, j'ai x lignes, certaines d'entre elles contiennent
en colonne A une date.
Comment faire une boucle sur la totalité de mes x lignes et faire un test :
si en colonne A ma cellule contient une date alors copier la ligne entière
dans un autre classeur en ligne N°1 par exemple. Ensuite on revient sur le
classeur de départ on test la ligne suivante et si c'est une date on copie
la ligne dans le second classeur en ligne N°2, Etc ...

Merci pour votre aide

--
Cordialement
Michel TAF

4 réponses

Avatar
JPMonnier
Bonsoir,
Copie cette sub pour copier ta ligne ayant une date
Sub ESTDATE()
For Each n In [a1:a10] ' a1: e10, ta plage de test
If IsDate(n) Then
n.EntireRow.Copy
' Procédure de collage dans ton autre classeur
End If
Next

--
Cordialement

End Sub
"Michel TAF" a écrit dans le message de
news:g5nl3e$gh2$
Bonjour à tout le monde,

Voilà j'aimerai écrire en VBA, une condition du genre :

Dans une feuille excel, j'ai x lignes, certaines d'entre elles contiennent
en colonne A une date.
Comment faire une boucle sur la totalité de mes x lignes et faire un test
:
si en colonne A ma cellule contient une date alors copier la ligne entière
dans un autre classeur en ligne N°1 par exemple. Ensuite on revient sur le
classeur de départ on test la ligne suivante et si c'est une date on copie
la ligne dans le second classeur en ligne N°2, Etc ...

Merci pour votre aide

--
Cordialement
Michel TAF




Avatar
JPMonnier
Un peu plus évolué
Sub pour copier d'un classeur à l'autre

Dim LIEU As Integer
Dim L, N As Range
Dim CLASS1, CLASS2 As Object

Sub ESTDATE()
Set CLASS1 = Workbooks("Classeur1").Worksheets("feuil1")
Set CLASS2 = Workbooks("classeur2").Worksheets("feuil1")
CLASS2.Activate
' cherche ou coller la ligne
For Each L In CLASS2.[a1:a1000]
If L <> "" Then
LIEU = L.Row + 1
Else: LIEU = 1
End If
Next L
' cherche les lignes ayant la date dans classeur1
For Each N In CLASS1.[a1:a10] '.Rows
If IsDate(N) Then
'copy la ligne dans presse papier
N.EntireRow.Copy
'colle la ligne dans classeur2
ActiveSheet.Paste Destination:=CLASS2.Rows(LIEU)
' mise à jour ou coller la ligne
For Each L In CLASS2.[a1:a1000]
If L <> "" Then
LIEU = L.Row + 1
End If
Next L
End If
Next N
End Sub
--
Cordialement


"Michel TAF" a écrit dans le message de
news:g5nl3e$gh2$
Bonjour à tout le monde,

Voilà j'aimerai écrire en VBA, une condition du genre :

Dans une feuille excel, j'ai x lignes, certaines d'entre elles contiennent
en colonne A une date.
Comment faire une boucle sur la totalité de mes x lignes et faire un test
:
si en colonne A ma cellule contient une date alors copier la ligne entière
dans un autre classeur en ligne N°1 par exemple. Ensuite on revient sur le
classeur de départ on test la ligne suivante et si c'est une date on copie
la ligne dans le second classeur en ligne N°2, Etc ...

Merci pour votre aide

--
Cordialement
Michel TAF




Avatar
Michel TAF
Merci JP,

je testerai dans 2 semaines, je fais un petit break

Michel

"JPMonnier" a écrit dans le message de
news:
Un peu plus évolué
Sub pour copier d'un classeur à l'autre

Dim LIEU As Integer
Dim L, N As Range
Dim CLASS1, CLASS2 As Object

Sub ESTDATE()
Set CLASS1 = Workbooks("Classeur1").Worksheets("feuil1")
Set CLASS2 = Workbooks("classeur2").Worksheets("feuil1")
CLASS2.Activate
' cherche ou coller la ligne
For Each L In CLASS2.[a1:a1000]
If L <> "" Then
LIEU = L.Row + 1
Else: LIEU = 1
End If
Next L
' cherche les lignes ayant la date dans classeur1
For Each N In CLASS1.[a1:a10] '.Rows
If IsDate(N) Then
'copy la ligne dans presse papier
N.EntireRow.Copy
'colle la ligne dans classeur2
ActiveSheet.Paste Destination:=CLASS2.Rows(LIEU)
' mise à jour ou coller la ligne
For Each L In CLASS2.[a1:a1000]
If L <> "" Then
LIEU = L.Row + 1
End If
Next L
End If
Next N
End Sub
--
Cordialement


"Michel TAF" a écrit dans le message de
news:g5nl3e$gh2$
> Bonjour à tout le monde,
>
> Voilà j'aimerai écrire en VBA, une condition du genre :
>
> Dans une feuille excel, j'ai x lignes, certaines d'entre elles


contiennent
> en colonne A une date.
> Comment faire une boucle sur la totalité de mes x lignes et faire un


test
> :
> si en colonne A ma cellule contient une date alors copier la ligne


entière
> dans un autre classeur en ligne N°1 par exemple. Ensuite on revient sur


le
> classeur de départ on test la ligne suivante et si c'est une date on


copie
> la ligne dans le second classeur en ligne N°2, Etc ...
>
> Merci pour votre aide
>
> --
> Cordialement
> Michel TAF
>
>



Avatar
JPMonnier
Alors bonnes vacances !
Tu auras tout oublié en 15 jours (hi hi !!)
--
Cordialement
Jean Pierre

"Michel TAF" a écrit dans le message de
news:g5q78b$bje$
Merci JP,

je testerai dans 2 semaines, je fais un petit break

Michel

"JPMonnier" a écrit dans le message de
news:
Un peu plus évolué
Sub pour copier d'un classeur à l'autre

Dim LIEU As Integer
Dim L, N As Range
Dim CLASS1, CLASS2 As Object

Sub ESTDATE()
Set CLASS1 = Workbooks("Classeur1").Worksheets("feuil1")
Set CLASS2 = Workbooks("classeur2").Worksheets("feuil1")
CLASS2.Activate
' cherche ou coller la ligne
For Each L In CLASS2.[a1:a1000]
If L <> "" Then
LIEU = L.Row + 1
Else: LIEU = 1
End If
Next L
' cherche les lignes ayant la date dans classeur1
For Each N In CLASS1.[a1:a10] '.Rows
If IsDate(N) Then
'copy la ligne dans presse papier
N.EntireRow.Copy
'colle la ligne dans classeur2
ActiveSheet.Paste Destination:=CLASS2.Rows(LIEU)
' mise à jour ou coller la ligne
For Each L In CLASS2.[a1:a1000]
If L <> "" Then
LIEU = L.Row + 1
End If
Next L
End If
Next N
End Sub
--
Cordialement


"Michel TAF" a écrit dans le message de
news:g5nl3e$gh2$
> Bonjour à tout le monde,
>
> Voilà j'aimerai écrire en VBA, une condition du genre :
>
> Dans une feuille excel, j'ai x lignes, certaines d'entre elles


contiennent
> en colonne A une date.
> Comment faire une boucle sur la totalité de mes x lignes et faire un


test
> :
> si en colonne A ma cellule contient une date alors copier la ligne


entière
> dans un autre classeur en ligne N°1 par exemple. Ensuite on revient sur


le
> classeur de départ on test la ligne suivante et si c'est une date on


copie
> la ligne dans le second classeur en ligne N°2, Etc ...
>
> Merci pour votre aide
>
> --
> Cordialement
> Michel TAF
>
>