Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1494 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Synchroniser 2 Feuilles dans fichiers différents

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Synchroniser 2 Feuilles dans fichiers différents

n°2329217
julekarbu
Posté le 15-02-2019 à 12:44:18  profilanswer
 

Bonjour
 
Ne découvrant VBA que récemment, je sèche un peu sur le code ci-dessous que j'ai emprunté et légèrement transformé pour répondre à mon besoin.
Le pb c'est que lorsque je lance cette macro, il me sort une erreur 91 sur la ligne en gras et soulignée.
Je bloque vraiment sur le sujet, même en faisant une analyse ligne après ligne...
Si une âme charitable traine dans les parages   ;)
 
Note: J'ai bien nommé "POINTEUR" la colonne qui m'intéresse.
 
Sub Macro1()
    Dim Cellule As Range
    Dim Acceptance As Workbook
    Dim LastLine As Integer
    Dim Tableau1() As Variant
    Dim Tableau2() As Variant
    Dim I As Integer
    Dim wbMyWb As Workbook
Dim Nom_Fichier As Variant
         
    ' On cherche le numéro de la dernière ligne utilisée dans la colonne A
    LastLine = Cells(Rows.Count, "A" ).End(xlUp).Row
     
    ' On redimensionne les 2 tableaux de façon dynamique
    ReDim Tableau1(LastLine)
    ' On a besoin de stocker les valeurs de 10 colonnes
    ReDim Tableau2(LastLine, 10)
     
    ' On charge le tableau avec les valeurs de la colonne A
    For I = 2 To LastLine
      Tableau1(I) = Range("A" & Trim(Str(I)))
    Next I
     
    ' On ouvre le fichier excel2.xls et on lui donne le focus
    Nom_Fichier = Application.GetOpenFilename("Fichiers Excel (*.xlsx), *.xlsx" )
If Nom_Fichier <> False Then
    Workbooks.Open Filename:=Nom_Fichier
End If
    'Workbooks.Open Filename:="xxx.xlsx"
    Set Acceptance = ActiveWorkbook
    Acceptance.Activate
     
    ' On scanne la colonne B avec les valeurs contenues dans le tableau
    For I = 2 To LastLine
        Set Cellule = ActiveSheet.Range("POINTEUR" ).Find(Tableau1(I), lookat:=xlWhole)
       Tableau2(I, 1) = Cellule.Offset(0, 1).Value
        Tableau2(I, 2) = Cellule.Offset(0, 2).Value
        Tableau2(I, 3) = Cellule.Offset(0, 3).Value
        Tableau2(I, 4) = Cellule.Offset(0, 4).Value
        Tableau2(I, 5) = Cellule.Offset(0, 5).Value
        Tableau2(I, 6) = Cellule.Offset(0, 6).Value
        Tableau2(I, 7) = Cellule.Offset(0, 7).Value
        Tableau2(I, 8) = Cellule.Offset(0, 8).Value
        Tableau2(I, 9) = Cellule.Offset(0, 10).Value
        Tableau2(I, 10) = Cellule.Offset(0, 11).Value
         
    Next I
     
    'On referme le classeur Acceptance.xls dont on n'a plus besoin
    Acceptance.Close
     
    ' On recopie le contenu du tableau dans les colonnes Y, AA, AC, AD
    For I = 1 To LastLine
      Range("C" & Trim(Str(I))) = Tableau2(I, 1)
      Range("Z" & Trim(Str(I))) = Tableau2(I, 2)
      Range("AA" & Trim(Str(I))) = Tableau2(I, 3)
      Range("AB" & Trim(Str(I))) = Tableau2(I, 4)
      Range("AC" & Trim(Str(I))) = Tableau2(I, 5)
      Range("AD" & Trim(Str(I))) = Tableau2(I, 6)
      Range("AE" & Trim(Str(I))) = Tableau2(I, 7)
      Range("AF" & Trim(Str(I))) = Tableau2(I, 8)
      Range("AG" & Trim(Str(I))) = Tableau2(I, 9)
      Range("AH" & Trim(Str(I))) = Tableau2(I, 10)
       
    Next I
End Sub

mood
Publicité
Posté le 15-02-2019 à 12:44:18  profilanswer
 

n°2329737
Marc L
Posté le 27-02-2019 à 13:29:35  profilanswer
 

 
            Bonjour,
 
            suffit juste de vérifier l'adresse de l'objet Cellule, déjà manuellement …
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Synchroniser 2 Feuilles dans fichiers différents

 

Sujets relatifs
cos me retourne des résultats différentsliste des feuilles d'un fichier excel
Consolidation d'une plage de cellules de X feuillesmême fonction - résultats différents
Nombre limite de fichiers dans un répertoire ?copier coller plusieurs feuilles dans une feuille
Les fichiers en c[GiT] batch listings fichiers git sous DOS
Déplacer des fichiers dans des sous répértoires par date[Perl] Utiliser LibXML pour concatener plusieurs fichiers XML
Plus de sujets relatifs à : Synchroniser 2 Feuilles dans fichiers différents


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR