Déclaration de variable

S

Sabine

Guest
Bonjour le forum,

Est ce que qq1 saurait me renseigner pour quoi le 1er ex. marche et l'autre non ??? :angry:

1er :
Do While ActiveCell.Value <> ''
'''''''Reste du code .....


2eme :

BOBO = ActiveCell

Do While BOBO.Value <> ''
'''''''Reste du code .....


Merci
 

Robert

XLDnaute Barbatruc
Bonjour Sabine, bonjour le forum,

ActiveCell est un mot clé du langage VBA donc reconnu par celui-ci.

Pour BOBO c'est différent. Il te faut le déclarer : Dim BOBO As Range, mais aussi le définir par Set BOBO = ActiveCell.
Là, ça devrait marcher...


Édition

Argh ! Pascal m'a encore devancé... Je le hais ! Je le hais ! (Voix Off : Du Calme Joe, du calme Joe)


Message édité par: Robert, à: 12/09/2005 10:42
 
S

Sabine

Guest
Merci Pascal et Robert, j'ai fait les modifs mais je ne comprends pas, ma macro tourne en rond ...

Auriez vous une idée ???

Sub Macro1()
Dim BOBO As Range
Dim YAYA As Range
Dim Z As Variant, Z1 As Variant, Z2 As Variant, Z3 As Variant
Dim ZZ As Variant, ZZ1 As Variant, ZZ2 As Variant, ZZ3 As Variant
Dim ZZZ As Variant, ZZZ1 As Variant, ZZZ2 As Variant, ZZZ3 As Variant
Dim lig0 As Variant, lig1 As Variant, lig2 As Variant, lig3 As Variant

Sheets('new').Select
Range('A5').Select
ligv0 = ActiveCell.Row
'ligv1 = ligv0 + 1

Set BOBO = ActiveCell
Set YAYA = ActiveCell.Offset(1, 0)

ligv1 = YAYA.Row



Do While BOBO.Value <> ''

Do While YAYA.Value <> ''

' ligv1 = ligv0 + 1

Z = Range('A' & ligv0).Value 'test comparatif de la ref pce
Z1 = Range('A' & ligv1).Value

ZZ = Range('D' & ligv0).Value 'test avec le nom client
ZZ1 = Range('D' & ligv1).Value

ZZZ = Range('C' & ligv0).Value 'test avec l'indice
ZZZ1 = Range('C' & ligv1).Value

Range('A' & ligv0).Select

If Z = Z1 And ZZ = ZZ1 And ZZZ = ZZZ1 Then 'on copie et sup

If Range('AD' & ligv0) <> '' Then
Range('AB' & ligv1).Copy Range('AD' & ligv0) 'Q. de l'appel2
Range('AC' & ligv1).Copy Range('AE' & ligv0) 'Date de l'appel2
Range('M' & ligv1).Copy Range('DA' & ligv0) 'N° de l'appel2

Range('AB' & ligv1).Copy Range('AF' & ligv0) 'Q. de l'appel3
Range('AC' & ligv1).Copy Range('AG' & ligv0) 'Date de l'appel3
Range('DA' & ligv1).Copy Range('DB' & ligv0) 'N° de l'appel3

Range('AD' & ligv1).Copy Range('AH' & ligv0) 'Q. de l'appel4
Range('AE' & ligv1).Copy Range('AI' & ligv0) 'Date de l'appel4
Range('DB' & ligv1).Copy Range('DC' & ligv0) 'N° de l'appel4
Rows(ligv1).Delete
End If


If Range('AF' & ligv0) <> '' Then

Range('AB' & ligv1).Copy Range('AF' & ligv0) 'Q. de l'appel3
Range('AC' & ligv1).Copy Range('AG' & ligv0) 'Date de l'appel3
Range('DA' & ligv1).Copy Range('DB' & ligv0) 'N° de l'appel3

Range('AD' & ligv1).Copy Range('AH' & ligv0) 'Q. de l'appel4
Range('AE' & ligv1).Copy Range('AI' & ligv0) 'Date de l'appel4
Range('DB' & ligv1).Copy Range('DC' & ligv0) 'N° de l'appel4
Rows(ligv1).Delete
End If


If Range('AH' & ligv0) <> '' Then

Range('AD' & ligv1).Copy Range('AH' & ligv0) 'Q. de l'appel4
Range('AE' & ligv1).Copy Range('AI' & ligv0) 'Date de l'appel4
Range('DB' & ligv1).Copy Range('DC' & ligv0) 'N° de l'appel4
Rows(ligv1).Delete
End If


End If

ligv1 = ligv1 + 1
'YAYA = YAYA + 1

Loop
ligv0 = ligv0 + 1
ligv1 = ligv0 + 1
BOBO = BOBO + 1
Loop
Range('A5').Select
End Sub


Merci
 

Discussions similaires

Réponses
44
Affichages
3 K