VBA Excel: Remplir un fichier Excel

Fermé
rourouriri Messages postés 23 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 4 juin 2009 - 7 mai 2008 à 11:13
seblekiller_oupas Messages postés 397 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 13 juin 2008 - 7 mai 2008 à 15:54
Bonjour,

Etant débutante en Excel je demande secours à vous, en fait je cherche à remplir un fichier Excel en ayant recours à un fichier, pour l'instant je sais comment faire la fusion mais ça me créer un autre fichier alors que ce que je veux moi est que dans ma feuille active faire les modification voila le code que j'utilise si vous pouvez m'aider ça sera trop gentil de votre part

Sub FusionPage3()

'Définir les variables
Dim Tableau1, Li1&, Co1&
Dim Tableau2, Li2&, Co2&
Dim Tableau3, Li3&, Co3&

'Désactiver la mise à jour de l'écran
Application.ScreenUpdating = False
'Donner à "Fichier_Analyse" le nom du fichier ouvert
Fichier_Analyse = ThisWorkbook.Name

'Ouverture des fichiers

'Chercher le 1er fichier à fusionner
Call RechercheFichier(Chemin, Fichier1_à_Analyser)
Workbooks.Open Filename:=Chemin & "\" & Fichier1_à_Analyser, local:=True

'Chercher le 2ème fichier à fusionner
Call RechercheFichier(Chemin, Fichier2_à_Analyser)
Workbooks.Open Filename:=Chemin & "\" & Fichier2_à_Analyser, local:=True

'Récupération des données Fich1
Windows(Fichier1_à_Analyser).Activate

lig = 1
Do
'Retourner les valeurs des 3 cellules succesives par ligne
x = Cells(lig, 1).Value
y = Cells(lig + 1, 1).Value
z = Cells(lig + 2, 1).Value
w = Cells(lig + 3, 1).Value
v = Cells(lig + 4, 1).Value

'Tester si x, y et z sont toutes vides
If x = "" And y = "" And z = "" And w = "" And v = "" Then
'Si oui sortir de la boucle Do
Exit Do
End If

lig = lig + 1
Loop

'Selectionner les cellulles de A1 jusqu'à la dernière cellule de la colonne C du fich1
Range("A1:D" & lig).Select

'Mettre la selection dans un tableau "Tableau1"
Tableau1 = Selection.Value
'Fermer sans enregistrer les modifications
ActiveWindow.Close savechanges:=False

'Récupération des données Fich2

'Pareil que Fich1
Windows(Fichier2_à_Analyser).Activate

lig = 1
Do
a = Cells(lig, 2).Value
b = Cells(lig + 1, 2).Value
c = Cells(lig + 2, 2).Value
d = Cells(lig + 3, 2).Value
e = Cells(lig + 4, 2).Value
f = Cells(lig + 5, 2).Value
g = Cells(lig + 6, 2).Value


If a = "" And b = "" And c = "" And d = "" And e = "" And f = "" And g = "" Then
Exit Do
End If

lig = lig + 1
Loop

Range("A1:D" & lig).Select

Tableau2 = Selection.Value

ActiveWindow.Close savechanges:=False

'Analyse résultats

ReDim Tableau3(UBound(Tableau1, 1), 4)

Windows(Fichier1_Analyse).Activate

k = 0

For I = LBound(Tableau1, 1) To UBound(Tableau1, 1)

k = k + 1

Tableau3(k, 1) = Tableau1(I, 1)
Tableau3(k, 2) = Tableau1(I, 2)

For j = LBound(Tableau2, 1) To UBound(Tableau2, 1)
If Tableau1(I, 1) <> "" Then
If Tableau1(I, 1) = Tableau2(j, 3) Then
Tableau3(k, 3) = Tableau2(j, 4)
End If
End If
Next j

Next I

'Ecriture données en colonne 1

lig = 1

For I = LBound(Tableau3, 1) To UBound(Tableau3, 1)
Cells(lig, 1).Value = Tableau3(I, 1)
Cells(lig, 2).Value = Tableau3(I, 2)
Cells(lig, 3).Value = Tableau3(I, 3)
Cells(lig, 4).Value = Tableau3(I, 4)

lig = lig + 1

Next I

Beep
Application.ScreenUpdating = True

End Sub


Amicalement
A voir également:

3 réponses

lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
7 mai 2008 à 14:56
bonjour,
tu à probablement une erreur sur ..
    ReDim Tableau3(UBound(Tableau1, 1), 4) 

il n'y a que la dernière occurence d'un tableu qui peu être redimentionnée, il te faut changer par
    ReDim Tableau3(4, UBound(Tableau1, 1)

Et bien sur modifier ta macro en conséquence.
Si d'autre erreur (je me suis arrêté à celle là) revient
A+
0
rourouriri Messages postés 23 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 4 juin 2009 2
7 mai 2008 à 15:01
Bonjour,

En fait, elle marche bien ma marco le problème c'est qu'elle me crée un 3ème fichier
et moi j'aimerais juste modifier dans le premier c'est ça mon vrai problème :s:s:s:s:s:s:s:s:s

A+

amicalement
0
zavenger Messages postés 811 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 20 avril 2012 161
7 mai 2008 à 15:18
Je pense que ton probleme viens du fait que tu fermes ton fichier

'Mettre la selection dans un tableau "Tableau1"
Tableau1 = Selection.Value
'Fermer sans enregistrer les modifications
ActiveWindow.Close savechanges:=False

'Récupération des données Fich2

Essaie sans cette partie et cela devrait aller mieux
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
7 mai 2008 à 15:32
Bonjour,

Si j'ai bien interpréter le code, tu ouvres 2 fichiers Excel (Fichier1_à_Analyser et Fichier2_à_Analyser), c'est donc que tu te trouves ni dans l'un, ni dans l'autre mais dans un 3ème classeur(Fichier1_Analyse). Tu veux fusionner les données de Fichier1_à_Analyser avec Fichier2_à_Analyser. Là tu rajoutes les données contenues dans le tableau3 dans le classeur Fichier1_Analyse ... d'où ton 3ème fichier. Il faut que tu ouvres de nouveau le fichier que tu veux modifier, que tu l'actives et que tu rajoutes tes données ...

;o)

polux
0
seblekiller_oupas Messages postés 397 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 13 juin 2008 5
7 mai 2008 à 15:35
Bonjour pollux31

C'est juste pour savoir si tu pouvais m'aider vite fait ou pas?

Desole de mettre incruster
et merci qu'elle que soit la reponse
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204 > seblekiller_oupas Messages postés 397 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 13 juin 2008
7 mai 2008 à 15:39
Bonjour,

Dis toujours ton problème, si je peux t'aider, ça sera avec plaisir.

;o)
0
seblekiller_oupas Messages postés 397 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 13 juin 2008 5 > Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016
7 mai 2008 à 15:54
tres bien je te remercie desole de m'y prendre comme ca mais je cherche des solutions!!!!! bref voila

http://www.commentcamarche.net/forum/affich 6289684 pb avec liste et sous formulair
0