Macro copier coller

Bonjour, le Forum

Je cherche à copier coller via une macro,

Je m'explique, j'ai un fichier base, et divers onglets qui correspondent à des résultats bien précis

Ce que je recherche c'est que la macro cherche un numéro qui est dans la base et que toute la ligne aille se coller dans l'onglet correspondant

Je mets un fichier

Par avance, merci pour vos idées et votre temps

12test.xlsx (66.49 Ko)

Bonjour Éric, bonjour le forum,

Essaie comme ça :

Sub Macro1()[/color]
Dim OB As Worksheet 'déclare la variable OB (Onglet Base)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)

Set OB = Worksheets("base") 'définit l'onglet OB
TV = OB.Range("A1").CurrentRegion 'définit le tableau des valeurs TV
For I = 2 To UBound(TV, 1) 'boucle sur toutes les lignes I du tableau des valeurs TV (en partant de la seconde)
    On Error Resume Next 'gestion des erreurs (en cas d'erreur passe à la ligne suivante
    Set OD = Worksheets(CStr(TV(I, 17))) 'définit l'onglet de destinastion OD (génère une erreur si cet onglet n'existe pas)
    If Err <> 0 Then Err.Clear: GoTo suite 'si une erreur a été générée, supprime l'erreur et va à l'étiquette "suite"
    Set DEST = OD.Cells(Application.Rows.Count, "A").End(xlUp).Offset(1, 0) 'définit la cellule de destination DEST
    OB.Rows(I).Copy DEST 'copie la ligne I de l'onglet OB et la colle dans DEST
suite: 'étiquette
Next I 'prochaine ligne de la boucle
End Sub

J'ai testé et il y a les onglets en rouge ou ta macro ne fonctionne pas sinon c'est parfait de chez parfait

Je te renvois le test

Bien à toi

13test.xlsm (79.31 Ko)

Re,

Arf ! Tu réfléchis des fois ?!... Les valeurs 500, 550, 600 et 750 n'apparaissent pas dans la colonne Q de l'onglet base. Il me semble donc normal que les onglets correspondants à ces valeurs soient vide, non ?!...

Je change mes codes sur les onglets, par exemple 502 et sur la base, hé bien le 502 n'apparait pas, bizarre


ericp a écrit :

Je change mes codes sur les onglets, par exemple 502 et sur la base, hé bien le 502 n'apparait pas, bizarre

Oups de ma part, c'est super parfait, un grand merci à toi

Re,

Heu attends ! tu as demandé une macro qui colle les lignes de l'onglet base dans l'onglet correspondant dans la colonne Q !... C'est exactement ce que fais la macro.

Si tu modifies une valeur dans la colonne Q de l'onglet base, il te faut relancer la macro pour que cette nouvelle valeur soit prise en compte. En revanche, l'onglet correspondant à l'ancienne valeur n'est pas, lui, modifié. Mais on peut coder pour qu'il le soit...

Si tu modifies une valeur dans n'importe quel autre onglet que base et même si tu relances la macro, il ne se passera rien puisque le code n'est pas prévu pour ça.

Bref, si tu veux quelque chose qui fonctionne il faut que tu fournisses des explications claires et détaillées de ce que tu veux...

Merci à toi Thau Thème,

C'est moi qui me suis emmêlé les pieds, ce que tu as fait est parfait, cela va me faire gagner un max de temps, tu es génial

Un grand merci a toi

Bien cordialement

Rechercher des sujets similaires à "macro copier coller"