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

Recopie automatique de lignes

5 réponses
Avatar
Frank
Bonjour à tous.
Voici un type de tableau que j'exploite.

A B C D
Numéro Etat Date Quantité
1 Q00004007-005 closed 05/09/08 1
2 Q00004265-001 closed 05/05/08 3
3 Q00004265-009 closed 05/05/08 1

Ce que je voudrais faire est de balayer automatiquement la colonne D et dés
qu'une quantité est supérieur à 1, que le contenu de la ligne en question (en
l'occurence la 2 ici) soit automatiquement copiée et insérée dans la ou les
lignes juste au-dessous le nombre d'occurence manquante pour attendre la
quantité spécifiée.
J'espère avoir été clair.
Merci par avance de votre aide.

5 réponses

Avatar
stéphane
Bonjour,

si tu veux une réponse mets un exemple clair.



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

Bonjour à tous.
Voici un type de tableau que j'exploite.

A B C D
Numéro Etat Date Quantité
1 Q00004007-005 closed 05/09/08 1
2 Q00004265-001 closed 05/05/08 3
3 Q00004265-009 closed 05/05/08 1

Ce que je voudrais faire est de balayer automatiquement la colonne D et
dés
qu'une quantité est supérieur à 1, que le contenu de la ligne en question
(en
l'occurence la 2 ici) soit automatiquement copiée et insérée dans la ou
les
lignes juste au-dessous le nombre d'occurence manquante pour attendre la
quantité spécifiée.
J'espère avoir été clair.
Merci par avance de votre aide.


Avatar
stéphane
Bonjour,

tu peux mettre un exemple du résultat que tu souhaites obtenir ?
ca sera peut être plus clair !


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

Bonjour à tous.
Voici un type de tableau que j'exploite.

A B C D
Numéro Etat Date Quantité
1 Q00004007-005 closed 05/09/08 1
2 Q00004265-001 closed 05/05/08 3
3 Q00004265-009 closed 05/05/08 1

Ce que je voudrais faire est de balayer automatiquement la colonne D et
dés
qu'une quantité est supérieur à 1, que le contenu de la ligne en question
(en
l'occurence la 2 ici) soit automatiquement copiée et insérée dans la ou
les
lignes juste au-dessous le nombre d'occurence manquante pour attendre la
quantité spécifiée.
J'espère avoir été clair.
Merci par avance de votre aide.


Avatar
Frank
OK voilà ce que je désire obtenir.
A B C D
Numéro Etat Date Quantité
1 Q00004007-005 closed 05/09/08 1
2 Q00004265-001 closed 05/05/08 3
3 Q00004265-001 closed 05/05/08 3
4 Q00004265-001 closed 05/05/08 3
5 Q00004265-009 closed 05/05/08 1


"stéphane" a écrit :

Bonjour,

tu peux mettre un exemple du résultat que tu souhaites obtenir ?
ca sera peut être plus clair !


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

> Bonjour à tous.
> Voici un type de tableau que j'exploite.
>
> A B C D
> Numéro Etat Date Quantité
> 1 Q00004007-005 closed 05/09/08 1
> 2 Q00004265-001 closed 05/05/08 3
> 3 Q00004265-009 closed 05/05/08 1
>
> Ce que je voudrais faire est de balayer automatiquement la colonne D et
> dés
> qu'une quantité est supérieur à 1, que le contenu de la ligne en question
> (en
> l'occurence la 2 ici) soit automatiquement copiée et insérée dans la ou
> les
> lignes juste au-dessous le nombre d'occurence manquante pour attendre la
> quantité spécifiée.
> J'espère avoir été clair.
> Merci par avance de votre aide.





Avatar
stéphane
ça devrait faire l'affaire.

Cependant, si tu laisses la Qté à 3 sur chacune des 3 lignes (chose que je
ne comprends pas) si tu relances la routine des données seront complètement
faussées


sub Routine

Dim i As Long, Qte As Integer

For i = ActiveSheet.Cells(Cells.Rows.Count, 1).End(xlUp).Row To 1 Step -1
Qte = ActiveSheet.Cells(i, 4)
If Qte > 1 Then
While Qte > 1
ActiveSheet.Range(Cells(i, 1), Cells(i, 4)).Copy
ActiveSheet.Cells(i + 1, 1).Insert shift:=xlDown
Qte = Qte - 1
Wend
End If

Next i

end sub


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

OK voilà ce que je désire obtenir.
A B C D
Numéro Etat Date Quantité
1 Q00004007-005 closed 05/09/08 1
2 Q00004265-001 closed 05/05/08 3
3 Q00004265-001 closed 05/05/08 3
4 Q00004265-001 closed 05/05/08 3
5 Q00004265-009 closed 05/05/08 1


"stéphane" a écrit :

Bonjour,

tu peux mettre un exemple du résultat que tu souhaites obtenir ?
ca sera peut être plus clair !


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

> Bonjour à tous.
> Voici un type de tableau que j'exploite.
>
> A B C D
> Numéro Etat Date Quantité
> 1 Q00004007-005 closed 05/09/08 1
> 2 Q00004265-001 closed 05/05/08 3
> 3 Q00004265-009 closed 05/05/08 1
>
> Ce que je voudrais faire est de balayer automatiquement la colonne D et
> dés
> qu'une quantité est supérieur à 1, que le contenu de la ligne en
> question
> (en
> l'occurence la 2 ici) soit automatiquement copiée et insérée dans la ou
> les
> lignes juste au-dessous le nombre d'occurence manquante pour attendre
> la
> quantité spécifiée.
> J'espère avoir été clair.
> Merci par avance de votre aide.







Avatar
Mishell
Bonjour

Sub ReproduireItems()

PremiereLigne = 1
DerniereLigne = Range("D65536").End(xlUp).Row

For i = DerniereLigne To PremiereLigne Step -1

If Cells(i, 4).Value > 1 Then
NombreItems = Cells(i, 4).Value
ligne = i
Call InsererEtCopier(NombreItems, ligne)
End If

Next

End Sub

Sub InsererEtCopier(NombreItems, ligne)

r1 = "A" & ligne & ":D" & ligne
r2 = ligne + 1 & ":" & ligne + 1
A2 = "A" & ligne + 1

For i = 1 To NombreItems - 1

Rows(r2).Select
Selection.Insert Shift:=xlDown

Range(r1).Select
Selection.Copy

Range(A2).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=
_
False, Transpose:úlse

Next i

End Sub


Mishell
"Frank" wrote in message
news:
Bonjour à tous.
Voici un type de tableau que j'exploite.

A B C D
Numéro Etat Date Quantité
1 Q00004007-005 closed 05/09/08 1
2 Q00004265-001 closed 05/05/08 3
3 Q00004265-009 closed 05/05/08 1

Ce que je voudrais faire est de balayer automatiquement la colonne D et
dés
qu'une quantité est supérieur à 1, que le contenu de la ligne en question
(en
l'occurence la 2 ici) soit automatiquement copiée et insérée dans la ou
les
lignes juste au-dessous le nombre d'occurence manquante pour attendre la
quantité spécifiée.
J'espère avoir été clair.
Merci par avance de votre aide.