XL 2019 Copie de cellules avec ajout de lignes par référence

Bormio2

XLDnaute Nouveau
Bonjour,

Compte tenu de mes connaissances Excel (limitées), je m'interroge sur la faisabilité de l'opération suivante.

J'ai en Feuil1 une liste de références en cellule A1, A2, A3.... (format de cellule texte)

En Feuil2, j'ai une liste d'indicateurs en A1, A2, A3... (format de cellule standard)

Je souhaiterais savoir s'il est possible "simplement" de recopier le contenu de toutes les cellules non vides de la Feuil2 (collone A) dans la Feuil1 (collone B), de manière à ce que cette copie duplique le contenu de la cellule A1 (Feuill1) autant de fois qu'il y a de références en Feuil2.

Je joins un fichier d'exemple pour éclaircir ma demande avec le résultat attendu en Feuil3 sachant que cet exemple est bien sûr limité en volume de données.

Merci à vous pour vos lumières et éventuelles solutions,

Cordialement,
 

Pièces jointes

  • Exemple.xlsx
    10.7 KB · Affichages: 12
Solution
Bonjour @Bormio2, le forum

J'ai l'impression que cela concerne ton niveau de sécurité des macros qui bloque l'exécution des macros.

La seule choses que je peux te proposer c'est que tu copies le code dans ton fichier
*Attention tu dois enregistrer ton fichier en .XLSM
1616057656921.png

1616057616941.png


1616058045291.png


voici le code à copier dans ton fichier du post #1 :
VB:
Sub MAJ()
Application.ScreenUpdating = False
Dim Derlig&, DL&
Dim cpt&

With Worksheets("Feuil1")
    Derlig = .Range("A" & Rows.Count).End(xlUp).Row
    DL = Worksheets("Feuil2").Range("A" & Rows.Count).End(xlUp).Row
    .Columns("B:B").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    .Columns("B:B").NumberFormat = "@"
    .[B1] = [A1]...

Bormio2

XLDnaute Nouveau
Bonjour Phil,

Merci pour cette réponse et pour le fichier joint.

Malheureusement, "impossible d’exécuter la macro, il est possible qu'elle ne soit pas dans le classeur ou que les macros soient désactivées".

Les macros sont pourtant toutes activées avec "Accès approuvé au modèle d'objet du projet VBA"...

Cordialement,
 

Phil69970

XLDnaute Barbatruc
Bonjour @Bormio2, le forum

J'ai l'impression que cela concerne ton niveau de sécurité des macros qui bloque l'exécution des macros.

La seule choses que je peux te proposer c'est que tu copies le code dans ton fichier
*Attention tu dois enregistrer ton fichier en .XLSM
1616057656921.png

1616057616941.png


1616058045291.png


voici le code à copier dans ton fichier du post #1 :
VB:
Sub MAJ()
Application.ScreenUpdating = False
Dim Derlig&, DL&
Dim cpt&

With Worksheets("Feuil1")
    Derlig = .Range("A" & Rows.Count).End(xlUp).Row
    DL = Worksheets("Feuil2").Range("A" & Rows.Count).End(xlUp).Row
    .Columns("B:B").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    .Columns("B:B").NumberFormat = "@"
    .[B1] = [A1]
    .[C1] = Worksheets("Feuil2").[A1]
    cpt = 2
    For i = 2 To Derlig
        For j = 2 To DL
            .Range("B" & cpt) = .Range("A" & i).Value
            .Range("C" & cpt) = Worksheets("Feuil2").Range("A" & j).Value
            cpt = cpt + 1
        Next j
    Next i
    .Columns("A:A").Delete Shift:=xlToLeft
End With
End Sub

et voici le dit fichier une nouvelle fois.....

*Edit
J'ai essayé de télécharger mon fichier il fonctione tres bien
As tu accepté les messages lors de l'ouverture du fichier
1616058658500.png

1616058699343.png


@Phil69970
 

Pièces jointes

  • Copie Feuille V1.xlsm
    20.8 KB · Affichages: 2
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 724
Messages
2 081 936
Membres
101 844
dernier inscrit
pktla