Microsoft 365 Workbook copy workbook

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 !

dubarre

XLDnaute Occasionnel
Bonjour à tous

Je viens vers vous car j’ai un petit problème avec le code suivant :

VB:
Private Sub Workbook_Open()

    Sheets("BDDTableaux").Select
    Cells.Select
    Selection.Delete Shift:=xlUp
    ChDir _
        "C:\Users\dubdu\Bureau"
    Workbooks.Open Filename:= _
        "C:\Users\dubdu\Bureau\Classeur1.xlsm"
    Sheets("BDDtableaux").Select
    Cells.Select
    Selection.Copy

    Windows("Classeur2.xlsm").Activate
    Sheets("Copy_BDDtableaux").Select
    Cells.Select
    ActiveSheet.Paste
    Range("A1").Select
    Windows("Gestion_Tableaux_v003.xlsm").Activate
    ActiveWindow.Close
'
End Sub


je m’explique en fait j’ai fait un enregistrement de macro pour essayer de comprendre comment ça fonctionne j’ai besoin dans l’exemple que les données qui sont

dans le classeur 1 feuilles1 soit copier
dans le classeur 2 des son ouverture 'Sheets("Copy_BDDtableaux").Select

Sachant que le classeur 1 lui est fermé


pouvez-vous m’aider s’il vous plaît pour pouvoir construire ce code correctement et que cela fonctionne je n’arrive pas à trouver la solution j’ai besoin que ça se fasse automatiquement s’il vous plaît merci d’avance
 

Pièces jointes

Bonjour,

Après plusieurs recherches voilà le code que j'ai pu trouver qui fonctionne je le partage pour d'autres personnes si besoin.

VB:
Sub Rempli_listview()

' -- Identification des variables
Dim ws As Worksheet
Dim rg As Range
Dim i As Integer
Dim j As Integer

' -- Initialisation des variables
Set ws = ThisWorkbook.Sheets("BD")      'Nom de l'onglet contenant nos données
Set rg = ws.Range("refTab")             'Notre cellule de référence de notre tableau

' -- Construction du tableau
With ufPieces.ListView1             'Nous travaillons avec notre Listview "lvPieces" dans notre userform
' -- Ajout des colonnes
For i = 1 To 7          '7 colonnes à ajouter
'Ajouter une colonne en spécifiant le nom de l'entête seulement, largeur par défaut
'les titres sont sur la même ligne que notre référence (rg)
        .ColumnHeaders.Add , , rg.Offset(0, i - 1)
Next i

' -- Ajouter les éléments de la 1re colonne
For i = 1 To 5
'Ajouter un élément en spécifiant la valeur seulement
'les éléments sont dans la même colonne que notre référence (rg)
        .ListItems.Add , , rg.Offset(i, 0)
Next i

' -- Ajouter les sous-éléments
For i = 1 To 5          'Nous bouclons sur les 5 éléments (lignes)
For j = 1 To 6      'Nous bouclons sur les 6 colonnes
'Ajouter un sous-élément en spéciant la valeur seulement
            .ListItems(i).ListSubItems.Add , , rg.Offset(i, j)
Next j
Next i

' -- Spécifier l'affichage du Listview en mode "Détails"
    .View = lvwReport

End With

End Sub
 
Bonjour Dubarre, le forum

A vous de changer les paramètres mais cela semble fonctionner aussi entre le feeder et le master sur la feuille 1.
Remarque :
- Dans "this workbook" utilisation de workbook_open pour rafraichir automatiquement
- Module 1 :
> procédure getrange qui contient le code principal pour actualiser les données sur une plage définie
> utilisation d'un "cleaner" pour les 0

Xl-ment
zebanx

NB : Je trouve toujours dangereux (dans le sens de piste d'audit tracable à un instant "t") de mettre à jour des données sans le faire "manuellement" (bouton "go" donc qui ne sert plus mais que perso je continuerai à utiliser plutot que le rafraichissement automatique)
 

Pièces jointes

Dernière édition:
- 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
487
Réponses
11
Affichages
638
Retour