Copier/coller une partie d'un tableau à partir d'une ligne variable

Bonjour,

j'ai un document que je dois mettre à jour chaque mois. Cependant, je fais des mise en formes manuelles sur ce document.

La mise à jour s'effectue aujourd'hui en exportant les données d'un logiciel puis en retravaillant absolument toutes les lignes déjà travaillées, ce que je juge idiot

==> je cherche donc à copier/coller à la suite de mon document déjà travaillé les nouvelles données.

Manuellement c'est facile en recherchant en colonne A la plus grande valeur (ce sont des numéros d'affaires croissant, qui ne peuvent se répéter, et sont triés par ordre croissant lors de l'export de mes données), mais j'aimerai rendre cela automatique afin de gagner du temps et que les gens pas à l'aise avec Excel aient le moins de choses à faire possible.

j'ai essayé de faire une macro à l'aide de ctrl+f et du MAX de mes données précédentes, mais sans succès.

Je vous remercie d'avance pour vos réponses !

Bonjour

Un essai à tester. Te convient-il ?

Bye !

Bonjour Mezio, bonjour le forum,

Peut-être comme ça :

Sub Macro1()
Dim E As Worksheet 'déclare la variable E (onglet Export à jour)
Dim F As Worksheet 'déclare la variable F (onglet Fichier à mettre à jour)
Dim VR As Long 'déclare la variable VR (Valeur Référence)
Dim TV As Variant 'déclare la variable TV (Tableau des valeurs)
Dim I As Long 'déclare la variable I (Incrément)
Dim TL() As Variant 'déclare la variable TL (Tableau des Lignes)
Dim K As Long 'déclare la variable K (incrément)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)

Set E = Worksheets("Export à jour") 'définit l'onglet E
Set F = Worksheets("Fichier à mettre à jour") 'définit l'onglet F
Set DEST = F.Cells(Application.Rows.Count, "B").End(xlUp).Offset(1, 0) 'définit la cellule de destination DEST (premiere cellule vide de la colonne B de l'onget F)
VR = CLng(F.Range("C1").Value) 'définit la valeur de référence VR
TV = E.Range("A1").CurrentRegion 'définit la tableau des valeurs TV
K = 1 'initialise la varaible K
For I = 1 To UBound(TV, 1) 'boucle sur toutes els lignes I du tableau des valeurs TV
    If CLng(TV(I, 1)) > VR Then 'condition : si la données ligne I colonne 1 de TV est supérieure à la valeur rréférence VR
        ReDim Preserve TL(1 To 2, 1 To K) 'redimensionne le tableau des lignes TL (2 lignes, K colonnes)
        TL(1, K) = TV(I, 1) 'récupère dans la ligne 1 de TL la données en colonne 1 de TV (=> transposition)
        TL(2, K) = TV(I, 2) 'récupère dans la ligne 2 de TL la données en colonne 2 de TV (=> transposition)
        K = K + 1 'incrémente K (ajoute une colonne au tableau des lignes TL)
    End If 'fin de la condition
Next I 'prochaine ligne de la boucle
DEST.Resize(UBound(TL, 2), UBound(TL, 1)).Value = Application.Transpose(TL) 'renvoie dans la cellule DEST redimentionnée le tableau TL transposé
End Sub

[b][Édition]

[/b]Bonjour Gmb, nos posts se sont croisés...

Bonjour

Un essai à tester. Te convient-il ?

Bye !

Bonjour,

en effet cela fonctionne parfaitement sur mon exemple ! merci à toi !

Cependant, pourrais tu m'expliquer les lignes stp que je comprenne le fonctionnement et puisse l'adapter à mon cas ?

merci

Bonjour ThauThème merci à toi aussi cela fonctionne parfaitement aussi Cependant dans la réalité j'ai plus que deux colonnes donc je vais modifier tout ça :p

pourrais tu m'expliquer les lignes

Le même avec macro commentée.

Bye !

Rechercher des sujets similaires à "copier coller partie tableau partir ligne variable"