Boucle d'une feuille excel à une autre

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Olivier18071981

XLDnaute Nouveau
Voici la macro que je mets au point pour qu'à partir de chaque ligne de ma feuille liste de facture, soient crées 3 lignes sur la feuille cloture mensuelle. Les trois indiquent successivement le montant TTC, la TVA et le montant HT
Pour le moment je n'arrive pas à faire défiler les lignes de mon tableau de base.
J'ai du mal à conceptualiser autre chose qu'une boucle :
For i=1 to N
faire (exécution de la macro si dessous avec incrémentation des indices de ligne en fonction de N) mais ma concaténation & ne doit pas être bonne.

Sub test1()
For N = 1 To ['liste de facture'!G1]
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert

Sheets("liste de facture").Select
Range("A3").Select
Selection.Copy
Sheets("Cloture mensuelle").Select
ActiveSheet.Paste
Range("B2").Select
ActiveSheet.Paste
Range("B3").Select
ActiveSheet.Paste
Range("B4").Select
ActiveSheet.Paste
Sheets("liste de facture").Select
Range("C3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Cloture mensuelle").Select
Range("A2").Select
ActiveSheet.Paste
Range("A3").Select
ActiveSheet.Paste
Range("A4").Select
ActiveSheet.Paste
Sheets("liste de facture").Select
Range("B3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Cloture mensuelle").Select
Range("D2").Select
ActiveSheet.Paste
Range("D3").Select
ActiveSheet.Paste
Range("D4").Select
ActiveSheet.Paste
Sheets("liste de facture").Select
Range("D3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Cloture mensuelle").Select
Range("E4").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Sheets("liste de facture").Select
Range("E3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Cloture mensuelle").Select
Range("E3").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Sheets("liste de facture").Select
Range("F3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Cloture mensuelle").Select
Range("F2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False

Next N
End Sub


Merci d'avance pour vos contributions
 
Re : Boucle d'une feuille excel à une autre

Salut,

Essaies ca:

Code:
Sub Cloture()
    Dim ShtFac As Worksheet, ShtClot As Worksheet
    Dim CptFac As Integer, CptClot As Integer
    
    Set ShtFac = ThisWorkbook.Sheets("liste de facture")
    Set ShtClot = ThisWorkbook.Sheets("cloture mensuelle")
    CptClot = 3
    
    For CptFac = 3 To ShtFac.Range("A65536").End(xlUp).Row
        ShtClot.Range("A" & CptClot).Value = ShtFac.Range("C" & CptFac).Value
        ShtClot.Range("B" & CptClot).Value = ShtFac.Range("A" & CptFac).Value
        ShtClot.Range("D" & CptClot).Value = ShtFac.Range("B" & CptFac).Value
        ShtClot.Range("E" & CptClot).Value = ShtFac.Range("D" & CptFac).Value
        ShtClot.Range("E" & CptClot + 1).Value = ShtFac.Range("E" & CptFac).Value
        ShtClot.Range("E" & CptClot + 2).Value = ShtFac.Range("F" & CptFac).Value
        CptClot = CptClot + 3
    Next
End Sub
++
 
Re : Boucle d'une feuille excel à une autre

Je viens de tester ton code et il est beaucoup plus rapide que le mien. Seulement il ne fait pas exactement ce que je veux. En fait il place indifféremment les sommes en débit là ou je voudrai qu'il ventile la somme TTC en débit et les montants HT et TVA en crédit.
De plus il faut que le libellé, la date et le numéro de pièce soient répétés sur les trois lignes...
Mais je ne comprends toujours pas pourquoi ma macro renvoie des lignes vides dans ma feuille cloture mensuelle.


Cells.Select
Selection.Copy
Sheets("liste de facture").Select
Sheets.Add
ActiveSheet.Name = "Feuillet temporaire"
With Selection
.PasteSpecial Paste:=xlAllExceptBorders, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
End With

For N = 1 To ['liste de facture'!G1]
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert

Sheets("Feuillet temporaire").Select
Range("C3").Select
Selection.Copy
Sheets("Cloture mensuelle").Select
Range("A2").Select
ActiveSheet.Paste
Range("A3").Select
ActiveSheet.Paste
Range("A4").Select
ActiveSheet.Paste
Sheets("Feuillet temporaire").Select
Range("A3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Cloture mensuelle").Select
Range("B2").Select
ActiveSheet.Paste
Range("B3").Select
ActiveSheet.Paste
Range("B4").Select
ActiveSheet.Paste
Sheets("Feuillet temporaire").Select
Range("B3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Cloture mensuelle").Select
Range("D2").Select
ActiveSheet.Paste
Range("D3").Select
ActiveSheet.Paste
Range("D4").Select
ActiveSheet.Paste
Sheets("Feuillet temporaire").Select
Range("D3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Cloture mensuelle").Select
Range("E4").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Sheets("Feuillet temporaire").Select
Range("E3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Cloture mensuelle").Select
Range("E3").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Sheets("Feuillet temporaire").Select
Range("F3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Cloture mensuelle").Select
Range("F2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Sheets("Feuillet temporaire").Select
Rows("3:3").Select
Selection.Delete Shift:=xlUp

Next N
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
718
Réponses
18
Affichages
491
Réponses
2
Affichages
360
Réponses
17
Affichages
1 K
Retour