la difference entre sub et private sub ?

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 !

milsodor

XLDnaute Nouveau
bonsoir,
c'est toujours moi,le débutant..😛
j'avance tout doucement dans mon apprentissage,mais il y a un truc que j'arrive pas à cerner..
je fait une macro je la commence par sub,elle apparait dans les macros,je peut l'appliquer grace à un bouton par exemple,mais si je met private sub,je la vois pas..??
par exemple pour trier automatiquement une colonne voila ce que j'ai tapé:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer 'indice de parcours de toutes les valeurs du trie
Dim temp As String '
Dim cell As Variant
Dim lettreCellule As String
Dim lettreColone As String
Dim nbColonesApres As Integer
Dim nbColonesAvant As Integer
Dim derCellule As String
Dim premCellule As String
cell = "b3"
nbColonesApres = 9
nbColonesAvant = 1
lettreColone = Mid(cell, 1, 1)
temp = ActiveCell.Address
lettreCellule = Mid(temp, 2, 1)
If lettreCellule = lettreColone Then
Range(cell).Select
i = 0
While ActiveCell.Offset(i, 0).Text <> ""
i = i + 1
Wend
premCellule = Range(cell).Offset(0, -nbColonesAvant).Address
derCellule = Range(cell).Offset(i - 1, nbColonesApres).Address
Range(premCellule & ":" & derCellule).Select

Selection.Sort Key1:=Range(cell), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

End If
End Sub

donc mon probleme est que j'ai pas encore tout saisi la nuance entre ces 2 termes,malgré mes recherches....
y'a un truc qui m'echappe
,car meme en rajoutant à la fin de ma colonne un mot quelconque,la colonne n'est pas triée.
auriez vous une piste??
merci
 
Re : la difference entre sub et private sub ?

Bonsoir Milsidor,

Les Private SUB ne s'adressent qu'à la feuille pour laquelle ils sont écrits mais, tu peux très bien mettre un bouton dans ta feuille à l'aide de la barre d'outils Visual Basic et là , ce bouton aurra ses propriètés au mêm endroit que ton Private et tu pourras déclancher ta macro à partir d'un clic sur ce bouton.

Exemple joint. Bon test.
 

Pièces jointes

Re : la difference entre sub et private sub ?

Bonjour

Excuse moi kiki mais le private sub n'a rien à voir avec la portée des variables mais il s'agit de la portée de la procédure. Et en effet l'interêt de la déclarer Private c'est qu'elle soit invisible dans la liste des macros.
 
Re : la difference entre sub et private sub ?

Bonjour à tous,

Dans ces cas la, comment fait-on pour activer la macro si elle est en private?

Le but du Private est d'éviter que l'on puisse appeler la procédure en dehors de la feuille de code où elle a été placée (et donc invisible dans les macros)

Un des cas où le Private est quasi automatique, ce sont les macros évènementielles (qui se déclenchent automatiquement lors d'une action sur un objet)

Par exemple, ici, cette procédure est à mettre dans le code de la feuille concernée, et se déclenchera automatiquement lors de la modification d'une valeur de cellule de cette feuille :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

J'espère que ça donne quelques pistes...
 
- 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

Discussions similaires

Réponses
2
Affichages
357
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
5
Affichages
779
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
504
Réponses
4
Affichages
644
Retour