Importer données d'un document Excel à un autre

Bonjour à tous !

Je suis très débutante avec VBA et je suis bloquée dans ce que je souhaite faire.

J'aimerais être en mesure d'importer certaines cellules d'une document Excel (Profil type) dans un autre document Excel (Données statistiques).

La macro était déjà existante, mais elle permet d'importer un document Word dans Excel.

Je vous la met ici en exemple :

Private Sub CommandButton1_Click()

Dim Wd As Word.Application

Dim filename As String

Dim i As Byte

'On affiche la boite de dialogue pour sélectionner le fichier

filename = Application.GetOpenFilename("Fichier Word (*.doc*),*.doc*", 1, "Sélectionnez un document Word", "Ouvrir", False)

'On vérifie qu'un fichier a été sélectionné

If filename <> "" Then

filename = LCase(filename)

'et qu'il s'agit d'un document word

If Right(filename, 3) = "doc" Or Right(filename, 4) = "docx" Then

Rows("5").Insert

'Créer une instance de word

Set Wd = New Word.Application

With Wd

'Empêche Word de s'afficher à l'ouverture

.Visible = False

'Ouverture du document

.documents.Open (filename)

'If f.Type = 71 Then

' Cells(2, f.Index).Value = .ActiveDocument.FormFields(f.Index).CheckBox.Value

'Else 'autres champs

Cells(5, 2).Value = .ActiveDocument.FormFields("Nom").Result

Cells(5, 3).Value = .ActiveDocument.FormFields("Prénom").Result

Cells(5, 4).Value = .ActiveDocument.FormFields("DDN").Result

Cells(5, 5).Value = .ActiveDocument.FormFields("sed").Result

Cells(5, 6).Value = .ActiveDocument.FormFields("Age").Result

Cells(5, 7).Value = .ActiveDocument.FormFields("langue").Result

Cells(5, 8).Value = .ActiveDocument.FormFields("ref").Result

Cells(5, 9).Value = .ActiveDocument.FormFields("Autres").Result

Cells(5, 10).Value = .ActiveDocument.FormFields("numconseiller").Result

Cells(5, 11).Value = .ActiveDocument.FormFields("numarc").Result

Cells(5, 12).Value = .ActiveDocument.FormFields("Sentence1").Result

Cells(5, 13).Value = .ActiveDocument.FormFields("Dpc1").Result

Cells(5, 14).Value = .ActiveDocument.FormFields("puro").Result

Cells(5, 15).Value = .ActiveDocument.FormFields("IP").Result

Cells(5, 16).Value = .ActiveDocument.FormFields("VC").Result

Cells(5, 17).Value = .ActiveDocument.FormFields("Dfp1").Result

Cells(5, 18).Value = .ActiveDocument.FormFields("Dfr1").Result

Cells(5, 19).Value = .ActiveDocument.FormFields("Rapport1").Result

Cells(5, 20).Value = .ActiveDocument.FormFields("Motif1").Result

Cells(5, 21).Value = .ActiveDocument.FormFields("Statut1").Result

Cells(5, 22).Value = .ActiveDocument.FormFields("Fré1").Result

Cells(5, 23).Value = .ActiveDocument.FormFields("Cote1").Result

Cells(5, 24).Value = .ActiveDocument.FormFields("Mesure1").Result

Cells(5, 25).Value = .ActiveDocument.FormFields("Fermeture1").Result

Cells(5, 26).Value = .ActiveDocument.FormFields("Sentence2").Result

Cells(5, 27).Value = .ActiveDocument.FormFields("Dpc2").Result

Cells(5, 28).Value = .ActiveDocument.FormFields("Durée2").Result

Cells(5, 29).Value = .ActiveDocument.FormFields("Dfp2").Result

Cells(5, 30).Value = .ActiveDocument.FormFields("Dfr2").Result

Cells(5, 31).Value = .ActiveDocument.FormFields("Rapport2").Result

Cells(5, 32).Value = .ActiveDocument.FormFields("Motif2").Result

Cells(5, 33).Value = .ActiveDocument.FormFields("Statut2").Result

Cells(5, 34).Value = .ActiveDocument.FormFields("Fré2").Result

Cells(5, 35).Value = .ActiveDocument.FormFields("Cote2").Result

Cells(5, 36).Value = .ActiveDocument.FormFields("Mesure2").Result

Cells(5, 37).Value = .ActiveDocument.FormFields("Fermeture2").Result

Cells(5, 38).Value = .ActiveDocument.FormFields("Sentence3").Result

Cells(5, 39).Value = .ActiveDocument.FormFields("Dpc3").Result

Cells(5, 40).Value = .ActiveDocument.FormFields("Durée3").Result

Cells(5, 41).Value = .ActiveDocument.FormFields("Dfp3").Result

Cells(5, 42).Value = .ActiveDocument.FormFields("Dfr3").Result

Cells(5, 43).Value = .ActiveDocument.FormFields("Rapport3").Result

Cells(5, 44).Value = .ActiveDocument.FormFields("Motif3").Result

Cells(5, 45).Value = .ActiveDocument.FormFields("Statut3").Result

Cells(5, 46).Value = .ActiveDocument.FormFields("Fré3").Result

Cells(5, 47).Value = .ActiveDocument.FormFields("Cote3").Result

Cells(5, 48).Value = .ActiveDocument.FormFields("Mesure3").Result

Cells(5, 49).Value = .ActiveDocument.FormFields("Fermeture3").Result

Cells(5, 50).Value = .ActiveDocument.FormFields("Risquea").Result

Cells(5, 51).Value = .ActiveDocument.FormFields("Risqued").Result

'End If

'Ferme le document Word

.Quit False

End With

'Destruction de l'objet word

Set Wd = Nothing

End If

End If

End Sub

Pensez-vous qu'il est possible de l'adapter afin de pouvoir effectuer la même manipulation, mais de Excel à Excel ?

Cela fait plusieurs jours que j'essaie différentes choses trouvées sur différents forums, mais je n'y parviens tout simplement pas.

Merci mille fois pour votre aide

Bonjour,

Avec le peu d'information sur les cellules à importer ; vous devriez repartir à zéro au lieu d'essayer de modifier cette macro.

Utilisez l'enregistreur de macro pour réaliser vos importations une fois.

Vous aurez une bonne partie du code qui pourra être modifié si vous avez un souci.

Salut !

Merci de l'aide, je vais essayer avec l'enregistreur ! Je ne savais même pas que cela existait...

Rechercher des sujets similaires à "importer donnees document"