cs_diude54
Messages postés5Date d'inscriptionvendredi 29 mai 2009StatutMembreDernière intervention 2 juillet 2009
-
2 juil. 2009 à 11:36
cs_diude54
Messages postés5Date d'inscriptionvendredi 29 mai 2009StatutMembreDernière intervention 2 juillet 2009
-
2 juil. 2009 à 14:41
Bonjour,
J'aimerai pouvoir exporter des infos d'un fichier excel à un autre.
Je travaille avec office 2003 et aussi 2007 (si ça pouvait fonctionner sur les 2 ça serait bien)
J'ai donc un fichier excel avec des données, j'ai créé un bouton dans ce fichier excel qui quand on clic dessus permet de chercher le fichier vers lequel on va envoyer les infos.
Déjà a partir de la je ne suis pas sur d'avoir la bonne methode.
Le fichier cible est un fichier contenant déja des données.
Le problème que j'ai est que quand je lance la macro, tout se passe apparement bien sauf que le fichier source s'est ouvert dans VBA mais pas sur excel. En gros je vois les objet dans VBA mais sur excel rien.
j'avais ajouté une commande save pour le fichier source à la fin et j'ai essayer de tout fermer et de reouvrir pour voir. Mais la encore aucune feuille ne s'affiche dans excel.
Il y a des partie avec des guillemets devant parce que j'ai fait plusieurs essais mais rien ne fonctionne comme je le souhaite.
Voici mon code:
Private Sub CommandButton1_Click()
Dim nligne, lignedest, i, j, ntache As Integer
Dim xls As Excel.Workbook
Dim maplage, trouve As Range
Dim fichierchoisi
Set xls = GetObject(Application.GetOpenFilename())
With xls.Worksheets("Feuille de Saisie").Range("A2", "A1000")
.RemoveSubtotal
End With
Set PL3 = Range("A2", "A1000")
nligne = Find0
i = 3
Do Until i = nligne
If Cells(i, 1).Interior.ColorIndex = 4 Then
devis = Cells(i, 2).Value
Set maplage = xls.Worksheets("Feuille de Saisie").Range("I4", "I1000")
Set trouve = maplage.Find(devis, maplage.Cells(1), xlValues, xlWhole, xlByColumns, xlNext)
If trouve Is Nothing Then
Set PL3 = xls.Worksheets("Feuille de Saisie").Range("A4", "A1000")
lignedest = Find0
j = 5
ntache = 1
Do Until j = lignedest
If xls.Worksheets("Feuille de Saisie").Cells(j, 1).Value > ntache Then ntache = xls.Worksheets("Feuille de Saisie").Cells(j, 1).Value
j = j + 1
Loop
With xls
.Worksheets("Feuille de Saisie").Cells(lignedest, 1).Value = ntache + 1
.Worksheets("Feuille de Saisie").Cells(lignedest, 2).Value = Cells(i, 4).Value
.Worksheets("Feuille de Saisie").Cells(lignedest, 3).Value = Cells(i, 9).Value
.Worksheets("Feuille de Saisie").Cells(lignedest, 9).Value = Cells(i, 3).Value
End With
End If
End If
i = i + 1
Loop
With xls.Worksheets("Feuille de Saisie").Range(Cells(2, 1), Cells(lignedest, 20))