importer des valeurs d'un classeur a un autre

satwaf

XLDnaute Occasionnel
Bonjour à tous,

j'essaye d'importer des valeurs d'un classeur vers un classeur principal, je sélectionne donc le classeur donc je souhaite récupérer la plage de valeurs, jusque la pas de soucis, mais ensuite j'ai un soucis quand il faut passer de l'un à l'autre, pourriez vous m'aider s'il vous plait.

Voici le code

Sub Nomdufichier()
Dim class_actif
class_actif = ActiveWorkbook.Name
Dim NomFichier
NomFichier = Application.GetOpenFilename
If VarType(NomFichier) = vbBoolean Then
MsgBox ("Action annulée")
Exit Sub
Else
MsgBox ("Importation des données de l'essai du fichier : " & NomFichier & " vers " & class_actif)
End If

NomFichier.Activate
NomFichier.Worksheets(poutrelle).Range(recup_data).Copy

class_actif.Activate
class_actif.Worksheets(Feuil1).Range("A1").PasteSpecial xlPasteValues

End Sub
 

Caillou

XLDnaute Impliqué
Re : importer des valeurs d'un classeur a un autre

Bonjour,

Les noms des feuilles ou des plages de cellules doivent être entre guillemets dans VBA. (sauf s'il s'agit de variables, mais au vue du code, je ne crois pas)
NomFichier.Worksheets("poutrelle").Range("recup_data") .Copy
class_actif.Worksheets("Feuil1").Range("A1").PasteSp ecial xlPasteValues

Caillou
 
G

Guest

Guest
Re : importer des valeurs d'un classeur a un autre

Bonjour,

Peut-être comme ceci.
Code:
Sub Nomdufichier()
Dim class_actif As Workbook, class_source As Workbook, plgSource As Range
    Set class_actif = ActiveWorkbook.Name
    Dim NomFichier
    NomFichier = Application.GetOpenFilename
    If VarType(NomFichier) = vbBoolean Then
        MsgBox ("Action annulée")
        Exit Sub
    End If
    MsgBox ("Importation des données de l'essai du fichier : " & NomFichier & " vers " & class_actif)
    'ouvrir le fichier source
    Set class_source = Workbooks.Open(NomFichier)
    
    class_actif.Activate
    'copier les valeurs de la source dans le classeur actif
    With class_source.Worksheets(poutrelle).Range(recup_data)
        class_actif.Worksheets(Feuil1).Range("A1").Resize(.Rows.Count, .Columns.Count).Values = .Value
    End With
End Sub

A voir:
où est définie Recup_data?
poutrelle est une variable ou un nom de feuille, si c'est un nom de feuille existante, le mettre entre guillemets

Il ne suffit pas d'un nom de fichier pour pouvoir l'ouvrir.

En faisant des recherches sur le forum tu trouveras tout ce dont tu as besoin ici.

A+
 

satwaf

XLDnaute Occasionnel
Re : importer des valeurs d'un classeur a un autre

Merci caillou pour ton aide,
c'est vrai que je n'avais pas fait attention aux guillemets, mais même avec cela ne fonctionne pas, j'ai une erreur d'exécution 424.

question, aprés avoir selectionné le fichier dont je veux importer les valeurs, dois je l'ouvrir, ou le transfert des valeurs peut se faire, meme le fichier fermé?
 

satwaf

XLDnaute Occasionnel
Re : importer des valeurs d'un classeur a un autre

Je mets en ligne les fichiers pour un peu plus de comprehension

le fichier PV poutrelle... contient les valeurs que je veux recuperer
le fichier test_transfert est le fichier ou seront transferes les données, et contient le code vb
 

Pièces jointes

  • Pv poutrelle 4 pts avec calcul de flèche.xlsx
    54 KB · Affichages: 33
  • test_transfert.xlsm
    24.1 KB · Affichages: 41
G

Guest

Guest
Re : importer des valeurs d'un classeur a un autre

Re,


Avec des données exemple dans la deuxième colonne c'eût été bien mieux.

Voir fichier joint. Il ne manquait pas grand chose. Nous t'avions donné des pistes que tu aurais pu exploiter(cf post de Caillou): Les guillemets

Dans une prochaine discussion ne te contente pas de dire que "ça ne marche pas".

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 136
Membres
103 129
dernier inscrit
Atruc81500