Comparer deux tableaux

  • Initiateur de la discussion Initiateur de la discussion Angelo7891
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

Angelo7891

Guest
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
 

Pièces jointes

Dernière modification par un modérateur:
Re : Comparer deux tableaux

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
 

Pièces jointes

Re : Comparer deux tableaux

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)
 

Pièces jointes

Re : Comparer deux tableaux

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
 

Pièces jointes

Re : Comparer deux tableaux

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

or
Code:
If wk.Cells(i, 2).Value = op(j) Then

cela retounre une erreur comme quoi la propriété n'est pas géré par l'objet
 
Re : Comparer deux tableaux

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 :?
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
6
Affichages
366
D
Réponses
4
Affichages
434
DidPouAxi
D
  • Question Question
Microsoft 365 Classeur Disparu
Réponses
2
Affichages
571
Retour