Au secours: macro Excel!!!!!!!

rose_sahel Messages postés 1 Statut Membre -  
 Rose_sahel -
Bonjour tt le monde!!!
j'ai besoin d'aides...

Il faut que je réalise une macro sous excel en VB qui puisse faire :
Soient 2 tables :

Définition1 et Dimension1

Definition1 possède divers champs; ceux qui nous intéressent dans ce cas sont les champs :

IDGRP LIBFORAB CDDIM DIM1 DIM2 DIM3 DIM4

Dans la table Dimension, les champs qui nous intressent sont:

IDGRP LIBFORAB CDDIM DIM1 DIM2 DIM3 DIM4

Le but est de comparer les champs de ces 2 tables pour affecter un identifiant IDDIM dans la table Définition1 (qui existe dans la table Dimension),

uniquement quand il y a égalité des champs.

Exemple :

Dimension:

IDDIM IDGRP LIBFORAB CDDIM DIM1 DIM2 DIM3 DIM4
14 1 RD 4562 2 2.4

Définition1:

IDDIM IDGRP LIBFORAB CDDIM DIM1 DIM2 DIM3 DIM4
1 RD 4562 2 2.4

Il y a égalité donc on affecte 14 à IDDIM de la table Définition1.

merci bcp,

1 réponse

  1. gator
     
    sous excell tu as un enregistreur de macro
    tu le lances tu fait tes opération tu l'arretes .
    apres tu fait modifier macro et tu te serts du code
    0
    1. Rose_sahel
       
      Salut j'ai écrit ce code mais il ne tourne pas bien, qu'en penses-tu STP?
      Rose.


      Sub MARQDEFDIM()
      '
      ' MARQDEFDIM Macro
      ' Macro enregistrée le 25/05/2004 par rose
      '

      '

      Dim idDimDi As String
      Dim idgrpDi As String
      Dim liforabDi As String
      Dim cddimDi As String
      Dim dim1Di As String
      Dim dim2Di As String
      Dim dim3Di As String
      Dim dim4Di As String

      Dim idDimD As String
      Dim idgrpD As String
      Dim liforabD As String
      Dim cddimD As String
      Dim dim1D As String
      Dim dim2D As String
      Dim dim3D As String
      Dim dim4D As String



      For CounterD = 2 To 101


      idDimD = Worksheets("Def1").Cells(CounterD, 36)
      idgrpD = Worksheets("Def1").Cells(CounterD, 2)
      liforabD = Worksheets("Def1").Cells(CounterD, 11)
      cddimD = Worksheets("Def1").Cells(CounterD, 37)
      dim1D = Worksheets("Def1").Cells(CounterD, 38)
      dim2D = Worksheets("Def1").Cells(CounterD, 39)
      dim3D = Worksheets("Def1").Cells(CounterD, 40)
      dim4D = Worksheets("Def1").Cells(CounterD, 41)

      For CounterM = 2 To 555
      idDimDi = Worksheets("Dimension").Cells(CounterM, 1)
      idgrpDi = Worksheets("Dimension").Cells(CounterM, 3)
      liforabDi = Worksheets("Dimension").Cells(CounterM, 6)
      cddimDi = Worksheets("Dimension").Cells(CounterM, 2)
      dim1Di = Worksheets("Dimension").Cells(CounterM, 7)
      dim2Di = Worksheets("Dimension").Cells(CounterM, 8)
      dim3Di = Worksheets("Dimension").Cells(CounterM, 9)
      dim4Di = Worksheets("Dimension").Cells(CounterM, 10)

      If (idDimD = idDimDi) And (idgrpD = idgrpDi) And (liforabD = liforabDi) And (cddimD = cddimDi) And (dim1D = dim1Di) And (dim2D = dim2Di) And (dim3D = dim3Di) And (dim4D = dim4Di) Then
      Worksheets("Def1").Cells(CounterD, 36).Value = Worksheets("Dimension").Cells(CounterM, 1).Value
      End If
      Next CounterM

      Next CounterD

      End Sub
      0