Excel

Fermé
pacotilu - 25 févr. 2009 à 10:26
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 25 févr. 2009 à 12:11
Bonjour,
Je suis débutant dans les macros excel et même le VBA.
Mon problème est :
J'ai une première facture sur excel sans les prix unitaires.
Je crée ma facture sur un autre logiciel ce qui va me donner mes prix unitaires et mes prix totaux.
ensuite je l'exporte vers excel, ce qui me donne 2 feuilles.
Sachant que les prix ne sont pas dans la même disposition, j'aimerai déplacer mes prix unitaires de la deuxième feuille afin de les mettre en face des bons éléments dans ma première feuille.

Exemple :

1er tableau
Qtité P.U
1 pomme 2


4 citron 3

2ièm tableau
Qtité P.U

2 pomme 2 2€

6 citron 3 4€


Résultat dans mon premier tableau

1er tableau
Qtité P.U
1 pomme 2 2€


4 citron 3 4€

Merci de toute l'aide que vous pourrez m'apporter

2 réponses

Mike-31 Messages postés 18379 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 mars 2025 5 125
25 févr. 2009 à 11:58
Salut,

ça pas l'air très compliqué, il serai plus facile pour nous de juger sur un exemple concret, crées un modéle de fichier avec tes deux feuilles et avec le lien ci-dessous, joint le à un prochain post

https://www.cjoint.com/

A+
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 191
25 févr. 2009 à 12:11
Bonjour,
Ca ne correspond pas tout à fait dans les colonnes que tu donne,
une macros qui recherche le PU sur la feuille2.colonneC et recopie sur la Feuille1.ColonneC
Si les colonnes ne sont pas bonne tu dis, j'adapterais.
Sub Actualiser()
'Les prix unitaires se trouvent en colonne C
Dim LigDest As Long, MaxDest As Long
Dim LigCop As Long, MaxCop As Long
Dim FLcop As Worksheet
Dim FLdest As Worksheet
    Set FLdest = Sheets("Feuil1")
    Set FLcop = Sheets("feuil2")
    MaxDest = FLdest.Range("A65536").End(xlUp).Row
    MaxCop = FLcop.Range("A65536").End(xlUp).Row
    For LigCop = 1 To MaxCop
        'Cherche équivalence de nom
        For LigDest = 1 To MaxDest
            If FLdest.Cells(LigDest, 1) = FLcop.Cells(LigCop, 1) Then
                FLdest.Cells(LigDest, 3) = FLcop.Cells(LigCop, 3)
                Exit For
            End If
        Next LigDest
    Next LigCop
    
End Sub

A+
0