Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Copier automatiquement un tableau vers un autre classeur à la première ligne vide

ELSONCe

XLDnaute Junior
Bonjour à tous,

Pour avoir été très bien renseigné la dernière fois je me permets de poster une nouvelle demande.

Je cherche à copier automatiquement un tableau (1) vers un autre classeur où se trouve ce même tableau (2) à la première ligne vide. Le but étant d'avoir différents utilisateurs qui sauvegarderont leurs données dans le tableau (1) et qu'une sauvegarde automatique se fasse sur le tableau (2) même si celui-cui est fermé. La résultante étant un tableau (2) qui permette de visualiser l'ensemble des données des différents utilisateurs.

Pour le moment je ne suis parvenu qu'à une pseudo macro avec collage spécial... Pas très heureux

Espérant avoir été assez clair, je remercie par avance celui ou celle qui saura résoudre ce léger problème car n'est pas excellien qui veut ;-)

Cordialement
 

Pièces jointes

  • TABLEAU (1).zip
    8.9 KB · Affichages: 55
  • TABLEAU (2).zip
    9.5 KB · Affichages: 48
  • TABLEAU (1).zip
    8.9 KB · Affichages: 56
  • TABLEAU (2).zip
    9.5 KB · Affichages: 51
  • TABLEAU (1).zip
    8.9 KB · Affichages: 57
  • TABLEAU (2).zip
    9.5 KB · Affichages: 49

pat01200

XLDnaute Occasionnel
Re : Copier automatiquement un tableau vers un autre classeur à la première ligne vid

Bonjour ELSONce, bonjour le forum,

Voici le code d'une macro à placer dans un module de ton Tableau 2 et à associer à un bouton par exemple :
Code:
    Pat = ActiveWorkbook.Name    
    Dim chemin As String
    chemin = CreateObject("WScript.Shell").SpecialFolders("Desktop")
    Classeur = Application.GetOpenFilename("Classeurs Excel,*.xls")
    Workbooks.Open Filename:=Classeur, Local:=True
    
    Dan = ActiveWorkbook.Name
    Sheets("Feuil1").Select
    Range("A2:N100").Select
    Selection.Copy
    Windows(Pat).Activate
    Sheets("Feuil1").Select
    If Range("A2").Value = "" Then
    Range("A2").Select
    Else
    If Range("A2").Value <> "" And Range("A3").Value = "" Then
    Range("A2").Select
    Else
    Range("A2").End(xlDown).Offset(1, 0).Select
    End If
    End if
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
        
    Windows(Dan).Activate
    Application.DisplayAlerts = False
    ActiveWindow.Close
        
    Windows(Pat).Activate
    Range("A1").Select
Cela devrait te permettre d'ouvrir ton tableau 1 (une fenêtre s'afichera pour que tu sélectionnes le bon fichier Excel), de saisir les données s'y trouvant, de les injecter dans ton tableau 2 puis de fermer le tableau 1. Ne connaissant pas la taille de la plage remplie de ton tableau 1, j'ai sélectionner arbitrairement de A2 à N100, mais tu peux modifier ces valeurs à ta guise. De même, j'ai supposé que les plages de départ et d'arrivée se situaient sur la 1ère feuille de chaque claseur, mais si ce n'est pas le cas, ou si tu as donné un nom spécifique à tes onglets, à toi de modifier le code (Sheets("Feuil1"). Select)
 

ELSONCe

XLDnaute Junior
Re : Copier automatiquement un tableau vers un autre classeur à la première ligne vid


MERCI Patrick ??

Ta proposition est intéressante cependant je suis toujours confronté à une problématique que voici :

1 ) Les utilisateurs du tableau (1) sont sur différents postes et sont nombreux, et avec ta solution la personne qui accède au tableau (2) se retrouve dans l'obiligation d'aller chercher le fichier où se trouve le tableau (1) pour chaque utilisateur. Dans l'absolu, je souhaiterais que le tableau (2) qui est par exemple sur T: se mette à jour automatiquement.

Espérant être assez clair dans mes explications.

Merci par avance pour vos recherches et vos réponses !

Cordialement
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…