Importer différentes feuil dans un seul classeur Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
h
hamila92
Membre habitué
Membre habitué
Messages : 80
Inscrit le : 31 janvier 2018
Version d'Excel : 2013 FR

Message par hamila92 » 9 avril 2018, 17:49

Désolé je n'ai pas vraiment compris ... il faut que je rajoute le dernier code ou remplacer le 1 par le derneir :oops:

Merci pour ton retour ;;)
Theze a écrit :
9 avril 2018, 17:28
Bonjour,

Tu as supprimé tout le code pour le remplacer par celui-ci-dessus mais il te fallait conserver la fonction DefPlage !
Function DefPlage(Fe As Worksheet, Optional L As Long = 1, Optional C As Long = 1) As Range
    
    On Error GoTo Fin
    
    With Fe

        Set DefPlage = .Range(.Cells(L, C), _
                       .Cells(.Cells.Find("*", .[A1], -4123, , _
                       1, 2).Row, .Cells.Find("*", .[A1], -4123, , _
                       2, 2).Column))

    End With
    
    Exit Function
    
Fin:

    Set DefPlage = Nothing

End Function
T
Theze
Passionné d'Excel
Passionné d'Excel
Messages : 4'019
Appréciations reçues : 306
Inscrit le : 26 janvier 2011
Version d'Excel : 2007/2019

Message par Theze » 9 avril 2018, 17:51

Pour que ce soit plus simple, remplaces tout le code que tu as dans le module par le code ci-dessous :
Sub MiseAJour()
    
    Dim Cls As Workbook
    Dim Plage As Range
    
    On Error Resume Next
    Set Cls = Workbooks.Open(ThisWorkbook.Path & "\" & "ASA.xlsx")
    
    If Err.Number <> 0 Then MsgBox "Erreur lors de l'ouverture !": Exit Sub
    
    Set Plage = DefPlage(Cls.Worksheets("Actuel"), 3, 1)
    
    With ThisWorkbook.Worksheets("ASA")
        
        .Range(.Cells(3, 1), .Cells(Rows.Count, Plage.Columns.Count)).ClearContents
        .Range(.Cells(3, 1), .Cells(Plage.Rows.Count + 2, Plage.Columns.Count)).Value = Plage.Value
        
    End With
    
    Cls.Close False
    
    Set Cls = Workbooks.Open(ThisWorkbook.Path & "\" & "JTN.xlsx")
        
    If Err.Number <> 0 Then MsgBox "Le fichier JTN.xlsx n'est pas ouvert !": Exit Sub
    
    Set Plage = DefPlage(Cls.Worksheets("Actuel"), 3, 1)
    
    With ThisWorkbook.Worksheets("JTN")
        
        .Range(.Cells(3, 1), .Cells(Rows.Count, Plage.Columns.Count)).ClearContents
        .Range(.Cells(3, 1), .Cells(Plage.Rows.Count + 2, Plage.Columns.Count)).Value = Plage.Value
        
    End With
    
    Cls.Close False
    
End Sub

Function DefPlage(Fe As Worksheet, Optional L As Long = 1, Optional C As Long = 1) As Range
    
    On Error GoTo Fin
    
    With Fe

        Set DefPlage = .Range(.Cells(L, C), _
                       .Cells(.Cells.Find("*", .[A1], -4123, , _
                       1, 2).Row, .Cells.Find("*", .[A1], -4123, , _
                       2, 2).Column))

    End With
    
    Exit Function
    
Fin:

    Set DefPlage = Nothing

End Function
1 membre du forum aime ce message.
Il vaut mieux un qui sait que cent qui cherchent :wink:

Ce forum étant un lieu de partage, je n'accepte pas les messages privés !
h
hamila92
Membre habitué
Membre habitué
Messages : 80
Inscrit le : 31 janvier 2018
Version d'Excel : 2013 FR

Message par hamila92 » 13 avril 2018, 11:31

:cry: :cry: :cry: :cry: :cry:
ça ne fonctionne pas ...
toujours le message erreur ... puis fermeture ... déception ::(
T
Theze
Passionné d'Excel
Passionné d'Excel
Messages : 4'019
Appréciations reçues : 306
Inscrit le : 26 janvier 2011
Version d'Excel : 2007/2019

Message par Theze » 13 avril 2018, 14:27

Bonjour,

Je viens de re-télécharger tes 3 fichiers, coller mon dernier code et fais le test, tout fonctionne très bien !
toujours le message erreur ... puis fermeture ... déception
Avec une explication comme ça, je ne vais pas pouvoir t'aider ! C'est quoi le message d'erreur ?
Les trois classeurs doivent être dans le même dossier (qu'importe le dossier).
Si tu as modifié quelque chose par rapport aux fichiers postés, il faudrait me le faire savoir !
1 membre du forum aime ce message.
Il vaut mieux un qui sait que cent qui cherchent :wink:

Ce forum étant un lieu de partage, je n'accepte pas les messages privés !
h
hamila92
Membre habitué
Membre habitué
Messages : 80
Inscrit le : 31 janvier 2018
Version d'Excel : 2013 FR

Message par hamila92 » 13 avril 2018, 16:39

Ce n'est pas grave ... on considère que la problématique est résolue ...

Est-ce que tu peux m'aider sur un autre sujet, stp ?

ci-joint l'exemple :

En faite je veux copier les colonnes dans le fichier destinataire depuis fichier source quand la valeur de la colonne B de ce dernier est egale à "CLEBAT"

Est-ce claire ?
Merci :roll:
Theze a écrit :
13 avril 2018, 14:27
Bonjour,

Je viens de re-télécharger tes 3 fichiers, coller mon dernier code et fais le test, tout fonctionne très bien !
toujours le message erreur ... puis fermeture ... déception
Avec une explication comme ça, je ne vais pas pouvoir t'aider ! C'est quoi le message d'erreur ?
Les trois classeurs doivent être dans le même dossier (qu'importe le dossier).
Si tu as modifié quelque chose par rapport aux fichiers postés, il faudrait me le faire savoir !
Source.xlsx
(314.68 Kio) Téléchargé 2 fois
Destinatair.xlsx
(157.26 Kio) Téléchargé 2 fois
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message