VBA

Bonjour,

j'ai le fichier suivant

Ce qui est en vert a deja ete ecrit niveau macro

Mon souci c'est d'ecrire ce qui est dessous...

L'autre souci c'est que la partie verte peut varier (dans l'exemple elle s'arrete a ligne 21 mais elle peut s'arreter plus bas ou plus haut selon les cas)

Ce que je cherche c'est integrer en VBA (uniquement) la partie qui se trouve sous la zone verte.

Merci pour votre aide

PS: je ne sais pas dire en VBA a partir de la derniere ligne ecrite continue avec ceci ou cela...

17test1.zip (11.06 Ko)

Bonjour,

Peut-on dire que l'en-tête sous la zone verte (ici "W" en A22) est toujours le même ?

afin de déterminer cette ligne

et que veux-tu par la suite ?

Amicalement

Claude

Bonjour

Bonjour Claude

Pas clair ou c'est moi qui dort encore

Mais pour savoir où écrire pour la 2ème partie

Sub partie2()
Dim Ligne As Long

  ' Les infos seront écrites à partir de ligne
  Ligne = Range("A" & Rows.Count).End(xlUp).Row + 1
End Sub

Pour la premiere question je veux reproduire en VBA uniquement la partie en dessous de la parie verte a l'identique !!

Donc l'entete sera la meme

et tout ce qu il y a en dessous sera a l'identique de ce que je vous joins comme fichier

Claude: Je connais cette formule mais sauf erreur de ma part je ne pourrais pas ecrire en colonnes C,D et E car elles se terminent plus haut que les autres.

Je pense qu il faut utiliser la commande offset mais je connasi mal la syntaxe pour y arriver

Merci pour votre aide

re, salut Banzai,

Le mieux serait de joindre un bout de fichier (Avant/après)

sinon pour la 1ère ligne sous l'en-tête

Sub Ligne()
Dim Lg& 'ligne sous l'en-tête "W"
    Lg = WorksheetFunction.Match("W", Range("a:a"), 0) + 1
    '--- suite macro ....
End Sub

Claude

Re,

Le fichier est joint dans mon premier message

Avant comme expliqué plus haut est en vert

Ce que je recherche c'est rajouter la partie NON verte par la suite et a l'IDENTIQUE du fichier joint

Merci

Bonjour

ce que j'ai compris

Sub partie2()
Dim Ligne As Long

  ' Les infos seront écrites à partir de ligne
  Ligne = Range("A" & Rows.Count).End(xlUp).Row + 1

  Cells(Ligne, "A").Resize(1, 5) = Array("W", "SN", "D", "T", "Q")
  Cells(Ligne + 1, "A") = "1"
  Cells(Ligne + 1, "D").Resize(1, 2) = Array("UNKN", 0)
  Cells(Ligne + 1, "A").AutoFill Range(Cells(Ligne + 1, "A"), Cells(Ligne + 384, "A")), Type:=xlFillSeries
  Cells(Ligne + 1, "D").Resize(1, 2).AutoFill Range(Cells(Ligne + 1, "D").Resize(1, 2), Cells(Ligne + 384, "D").Resize(1, 2)), Type:=xlFillCopy
End Sub

Merci beaucoup pour ton aide

C'est top !!

Bonne journée

Rechercher des sujets similaires à "vba"