Passage d'un variable

  • Initiateur de la discussion fadiese
  • Date de début
F

fadiese

Guest
Bonjour

Certaines lignes de mon code sont repetitifs
je voudrais creer une macro pour ces lignes, le probleme est que je dois me servir de variable(s) initialise dans une autre macro
On m' a deja dionne une solution mais je n'arrive pas ala mettre en pratique


Num = Num + 1 la variable Num est celle que je dois recuperer
While changement = False
If Range('B' & lig).Value = 'daemon' Then
Rows(lig).Select la variable lig est celle que je dois recuperer
Selection.Copy
Range('A' & Num).Select
ActiveSheet.Paste
Rows(lig).Select
Selection.Delete
Rows(lig).Select
ElseIf Range('B' & lig).Value = 'bin' Then

Et je voudrai creer une macro avec ces lignes

Sub Classement()
Rows(lig).Select
Selection.Copy
Range('A' & Num).Select
ActiveSheet.Paste
Rows(lig).Select
Selection.Delete
Rows(lig).Select
End sub

Comment puis je faire pour obtenir ce resultat
Num = Num + 1 la variable Num est celle que je dois recuperer
While changement = False
If Range('B' & lig).Value = 'daemon' Then
Classement
ElseIf Range('B' & lig).Value = 'bin' Then

Merci pour votre aide
Cdlt
Fadiese :sick:
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Bonjour

Pour recuperer une variable d'un module à un autre
il faut

que ta variable soit déclarée dans un module en début de celui-ci avant tout code
que ta variable soit déclarée Public (public Num as Integer)
 
S

stef

Guest
bonjour,

je ne sais pas quelle est la solution qui t'as ete proposée mais essaye avec ce qui suit:

Sub Classement (Lig as integer)
Rows(lig).Select
Selection.Copy
Range('A' & Num).Select
ActiveSheet.Paste
Rows(lig).Select
Selection.Delete
Rows(lig).Select
End sub

et tu appelle la sub en faisant

Classement(lig)
 

ChTi160

XLDnaute Barbatruc
Salut fadiese

je pense que tu dois procèder de la sorte

il te faut déclarer ta Variable a l'exterieur de ta procédure
ex Public Num as Interger
Sub Classement(Num )
'''''
''''
End Sub

et ici tu mets

Comment puis je faire pour obtenir ce resultat
Num = Num + 1 la variable Num est celle que je dois recuperer
While changement = False
If Range('B' & lig).Value = 'daemon' Then
Classement Num
ElseIf Range('B' & lig).Value = 'bin' Then


bonne fin de Journée
 

Discussions similaires

Réponses
25
Affichages
852
Réponses
3
Affichages
591

Statistiques des forums

Discussions
312 332
Messages
2 087 362
Membres
103 530
dernier inscrit
Chess01