Déclaration de variable

  • Initiateur de la discussion Initiateur de la discussion Sabine
  • 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 !

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
 
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
 
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
 
- 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
4
Affichages
280
Retour