Excel liaison automatique tableau a partir d'un chemin
Bonjour tous le monde
Serait il possible, que lorsque je remplie l'userfome1 contenant un textbox1 "Chemin du fichier excel", sa m'ouvre automatiquement le classeur.
PS : J'ai mis l'image de l'userforme en pièce jointe
De plus j'aimerais, qu'avec ce chemin sa me mettre a jour les données dans le tableau actuel. Liaison de fichier excel (mais en lui indiquant ou il faut aller chercher le fichier excel) pour que les liens se fasse automatiquement.
De plus que meme si on bouche ou renome le fichier que mon tableau excel fonctionne toujours.. si cette option est possible
J’espère que vous pourrez m'aider
Cordialement
G PERRET
Salut,
je pense que ce sera plus simple pour toi en utilisant les fonctions Excel :
Re
ok je vais tester et voir si ca me convient
Merci pour l'info...
@+
Re
Je viens de tester, mais j'ai une autre questions. Si on créer un nouveau tableau excel, j'aimerais que ca se mette automatiquement dans mon tableau principal.
Merci
A+
Bonjour
J'ai trouve ca mais maintenant j'aimerais que si on m'est a jour le tableau 2 ca me met automatiquement le classeur 1 a jour la ca effectue juste un copie coller entre deux classeur si vous pouvez m'aider MERci
Sub Macro1()
Dim Entree As Workbook, Sortie As Workbook
Nomfichierentree = Application.GetOpenFilename("Fichier Excel (*.xls), *.xsl")
' On verifie que l'on a selectionné un nom de classeur
If Nomfichierentree <> False Then
' On ouvre le classeur
Set Entree = Workbooks.Open(Nomfichierentree)
NomFichierSortie = Application.GetOpenFilename("Fichier Excel (*.xls), *.xsl")
If NomFichierSortie <> False Then
Set Sortie = Workbooks.Open(NomFichierSortie)
' Ici tu mets les copies des cellules de la feuille d'entrée vers la feuille de sortie
Sortie.Worksheets("Feuil1").Range(Cells(5, 2), Cells(Rows.Count, 2).End(xlUp)) = Entree.Worksheets("Feuil1").Cells(7, 3) 'NOM
Sortie.Worksheets("Feuil1").Range(Cells(5, 3), Cells(Rows.Count, 3).End(xlUp)) = Entree.Worksheets("Feuil1").Cells(8, 3) 'PRENOM
Sortie.Worksheets("Feuil1").Range(Cells(5, 4), Cells(Rows.Count, 4).End(xlUp)) = Entree.Worksheets("Feuil1").Cells(11, 3) 'fonction
Sortie.Worksheets("Feuil1").Range(Cells(5, 5), Cells(Rows.Count, 5).End(xlUp)) = Entree.Worksheets("Feuil1").Cells(12, 3) 'CV
Sortie.Worksheets("Feuil1").Range(Cells(5, 6), Cells(Rows.Count, 6).End(xlUp)) = Entree.Worksheets("Feuil1").Cells(15, 3) 'PASSEPORT
Sortie.Worksheets("Feuil1").Range(Cells(5, 7), Cells(Rows.Count, 7).End(xlUp)) = Entree.Worksheets("Feuil1").Cells(16, 3) 'DATE DE VALIDITE
Sortie.Worksheets("Feuil1").Range(Cells(5, 8), Cells(Rows.Count, 8).End(xlUp)) = Entree.Worksheets("Feuil1").Cells(15, 6) 'PC Numéro
Sortie.Worksheets("Feuil1").Range(Cells(5, 9), Cells(Rows.Count, 9).End(xlUp)) = Entree.Worksheets("Feuil1").Cells(8, 9) 'Coordonnée rue
Sortie.Worksheets("Feuil1").Range(Cells(5, 10), Cells(Rows.Count, 10).End(xlUp)) = Entree.Worksheets("Feuil1").Cells(8, 12) 'CP
Sortie.Worksheets("Feuil1").Range(Cells(5, 11), Cells(Rows.Count, 11).End(xlUp)) = Entree.Worksheets("Feuil1").Cells(9, 9) 'ville
Sortie.Worksheets("Feuil1").Range(Cells(5, 12), Cells(Rows.Count, 12).End(xlUp)) = Entree.Worksheets("Feuil1").Cells(9, 12) 'Pays
Sortie.Worksheets("Feuil1").Range(Cells(5, 13), Cells(Rows.Count, 13).End(xlUp)) = Entree.Worksheets("Feuil1").Cells(13, 9) 'mail
' C'est là que ton boulot commence ;-)
' etc
' .
' .
' .
' On ferme le classeur
Sortie.Close
End If
' On ferme le second
Entree.Close
End If
End Sub
@+
bonjour
Est ce que quelqu'un peut m'aider
j'ai trouer ce code mais il ne marche pas :
...
With Entree.Worksheets("Feuil1").Activate
Set derlig = Cells(7, 3)
derlig.Copy
End With
With Sortie.Worksheets("Feuil1").Activate
Set derlig1 = Range(Cells(5, 2), Cells(Rows.Count, 2).End(xlUp))
Active.derlig1.Paste link:=True
End With
....
Cette ligne signifie que ca colle a la derniere cellule en dessus de la derniere ligne rempli :
Set derlig1 = Range(Cells(5, 2), Cells(Rows.Count, 2).End(xlUp))
Merci de votre aide
Re bonjour tous le monde
Je suis arriver a faire ca avec un userform deux bouton 1 qui ajoute des ligne et l'autre qui copie colle avec liaison d'un tableau a l'autre.
Private Sub CommandButton1_Click()
With Workbooks("Gestion")
Dim plage As range
range("A5:AU5").Copy
Dim derlig As Integer
derlig = Cells.Find("*", , , , xlByRows, xlPrevious).Row
Set plage = range("A" & derlig + 1)
plage.PasteSpecial
plage = " "
End With
End Sub
Private Sub CommandButton2_Click()
Dim Entree As Workbook, Sortie As Workbook
Nomfichierentree = Application.GetOpenFilename("Fichier Excel (*.xls), *.xsl")
' On verifie que l'on a selectionné un nom de classeur
If Nomfichierentree <> False Then
' On ouvre le classeur
Set Entree = Workbooks.Open(Nomfichierentree)
Set Sortie = Workbooks("Gestion")
With Entree.Worksheets("Feuil1").Activate
Cells(7, 3).Copy
End With
With Sortie.Worksheets("Feuil1").Activate
Dim derlig1 As Integer
Dim plage As range
Set plage = Intersect(range("B:B"), Selection)
plage.PasteSpecial
ActiveSheet.Paste link:=True
End With
' On ferme le second
Entree.Close
End If
End Sub
Ce code fonctionne mais je voulais savoir si il y avait pas plus simpe.
Merci de votre aide
cdt