![]() |
|
Forum
|
|
|
#1 (permalink) |
|
XLDnaute Junior
Date d'inscription: mars 2006
Messages: 65
|
Bonjour le forum
J'aimerai pouvoir comparer 2 fichiers excel (je vous ai mis 2 fichiers en piece jointe pour être un peu plus clair ) Alors voila dans mon tableau destination vous avez une liste de site avec des activités Dans mon fichier source vous avez les meme site mais uniquement avec certaines activité (activité 1 et activité 3) pour lesquelle correspondent un nombre pour chaque site et ce que je souhaite c'est aller cherché ces chiffre dans le fichier source pour remplir destination ... En sachant que si je dois mettre du code il faudra qu'il se trouve dans le fichier source Dernière modification par Angelo7891 ; 28/07/2006 à 10h30. |
|
|
|
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: septembre 2005
Localisation: Poitiers (Vienne)
Version Excel : Excel 2000 (PC)
Messages: 2 830
|
Bonjour le Forum,
Bonjour Angelo7891, bon alors revoila tes 2 fichier avec un essai de formule tu verra il y a des plage nommées dans le classeur destination. attention tout de même a une chose primordiale pour que tout fonctionne j'ai été obligé de faire des copiés collés pour les données libellé (site 1, site 2 ....) et activité 1, activité 2 .... les intiitulés doivent etre exactement identique sur tes 2 classeurs . l'inconvénient de ces formules c'est que les 2 fichiers doivent etre ouvert. Jocelyn
__________________
|
|
|
|
|
|
#3 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: mars 2005
Localisation: Maubeuge
Version Excel : Excel 2000 (PC)
Messages: 6 923
|
Salut Angelo,
A essayer : Une solution sans macro, avec Formules dans fichier destination. (Formules à base de DECALER) Sinon, une solution depuis le fichier Source nécessite, à mon avis, une macro, auquel cas, je passe le témoin. @+ Salut Jocelyn, pas rafraîchi. même remarque que la tienne à propos des étiquettes de ligne et de colonnes (espaces intempestifs)
__________________
Ne jamais hésiter à utiliser la recherche sur le Forum, beaucoup de réponses s'y trouvent Amitiés XldiennesXLD vous a aidé, n'hésitez pas à aider XLD |
|
|
|
|
|
#4 (permalink) |
|
XLDnaute Accro
Date d'inscription: février 2005
Messages: 1 222
|
Bonjour Angelo7891, Jocelyn, Tibo et le forum,
Une solution avec macro commandée par le bouton "TRANFERT" dans le fichier destination. J’ai utilisé une feuille intermédiaire pour transférer les données du fichier source dans le fichier destination. 1- Le code est dans le fichier "Destination" ; 2- L'ouverture du fichier "Source.xls" est automatisée ; 3- Transfert du tableau source dans une feuille appelée "TRANSFERT" du fichier "destination" ; 4- Fermeture du fichier "Source.xls" ; 5- Report des valeurs dans le tableau destination à partir de la feuille "TRANSFERT"; 6- Effacement de la feuille "TRANSFERT". Un détail, il est impératif que les intitulés des cellules des deux tableaux à exploiter soient identiques, ce qui n'était pas le cas dans les fichiers exemples. Cordialement Bernard |
|
|
|
|
|
#5 (permalink) |
|
XLDnaute Junior
Date d'inscription: mars 2006
Messages: 65
|
dejà merci à tous
personnellement je me suis orienté vers autre chose car le code de Brenard étais assez compliqué à réadapté (enfin pour moi ) mais j'ai un souci alors voici le code que j'ai fais Code:
Sub Auto_open()
Dim ligne As Integer
Dim stFichier As String
Dim wk As Workbook 'classeur destination
Dim wS As Workbook 'classeur source
Set wS = ThisWorkbook
chemin = ActiveWorkbook.Path
ReDim op(300)
For ligne = 1 To 300
op(ligne) = Cells(ligne, 2).Value
Next ligne
stFichier = Dir(chemin & "\source*.xls") 'test si il y a un fichier source... .xls
If stFichier <> "" Then
Set wk = Workbooks.Open(chemin & "\" & stFichier)
For i = 1 To 300
For j = 1 To 300
If wk.Cells(i, 2).Value = op(j) Then
wk.Cells(j, 3).Value = wS.Cells(i, 5).Value
wk.Cells(j, 4).Value = wS.Cells(i, 4).Value
wk.Cells(j, 5).Value = wS.Cells(i, 6).Value
wk.Cells(j, 6).Value = wS.Cells(i, 7).Value
wk.Cells(j, 7).Value = wS.Cells(i, 8).Value
wk.Cells(j, 8).Value = wS.Cells(i, 9).Value
End If
Next j
Next i
Else
MsgBox "Erreur aucun fichier trouvé.."
End If
End Sub
Code:
If wk.Cells(i, 2).Value = op(j) Then |
|
|
|
|
|
#6 (permalink) |
|
XLDnaute Junior
Date d'inscription: mars 2006
Messages: 65
|
alors voila je pense avoir trouvé une slution pour contourner le probleme
Code:
Sub Auto_open()
Dim ligne As Integer
Dim stFichier As String
Dim wk As Workbook
Dim wS As Workbook
Set wS = ThisWorkbook
chemin = ActiveWorkbook.Path
ReDim op(300)
For ligne = 1 To 300
op(ligne) = Cells(ligne, 2).Value
Next ligne
stFichier = Dir(chemin & "\destination*.xls")
If stFichier <> "" Then
Set wk = Workbooks.Open(chemin & "\" & stFichier)
For i = 1 To 300
For j = 1 To 300
If wk.Sheets(1).Cells(i, 2).Value = op(j) Then
wk.Sheets(1).Cells(j, 3).Value = wS.Sheets(1).Cells(i, 5).Value
wk.Sheets(1).Cells(j, 4).Value = wS.Sheets(1).Cells(i, 4).Value
wk.Sheets(1).Cells(j, 5).Value = wS.Sheets(1).Cells(i, 6).Value
wk.Sheets(1).Cells(j, 6).Value = wS.Sheets(1).Cells(i, 7).Value
wk.Sheets(1).Cells(j, 7).Value = wS.Sheets(1).Cells(i, 8).Value
wk.Sheets(1).Cells(j, 8).Value = wS.Sheets(1).Cells(i, 9).Value '
End If
Next j
Next i
Else
MsgBox "Erreur aucun fichier trouvé.."
End If
End Sub
mais le résultat me donne un peu n'importe quoi :? |
|
|
|
| ANNONCES | |
![]() |
| Liens sociaux |
| Outils de la discussion | |
|
|
Discussions similaires
|
||||
| Discussion | Auteur | Forum | Réponses | Dernier message |
| Comparer deux tableaux ds 2 feuilles | Sara | Forum Excel | 6 | 14/09/2005 17h21 |
| recherche une macro pour comparer les nombres de deux tableaux | gnont | Forum Excel Downloads - Archives | 3 | 28/09/2004 18h38 |
| comparer deux tableaux | jo | Forum Excel Downloads - Archives | 0 | 16/09/2004 19h27 |
| comparer deux tableaux excel | jo | Forum Excel Downloads - Archives | 0 | 16/09/2004 17h54 |
| comparer deux colonnes dans deux feuilles différentes | nicolas | Forum Excel Downloads - Archives | 7 | 26/06/2004 18h12 |