Déclarer en une fois 30 variables

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

Lone-wolf

XLDnaute Barbatruc
Bonjour à tous,

en parcourant le site Exelabo je suis tombé sur cet article:

"Déclarer en une fois 30 variables"

Code:
J'ai besoin de 30 variables n1 à n30 que je dois déclarer comme integer. Dois-je taper 30 fois dim n1 as integer ?

Tu peu utiliser cette formulation : Dim n%(1 To 30)

Auteur : Michel Pierron

Maintenant à la place d'écrire " Dim x, j, i, etc., As Integer ", j'écrit " Dim x%(1 To 30) As Integer " c'est la même chose oubien il faut quand même différencier les variables, c'est à dire: x , j , i etc.?


A+ 😎
 
Re : Déclarer en une fois 30 variables

Bonjour Lone


Ouah, mais c'est super, tu découvres l'informatique 😉.

Sinon , si tu fouilles dans l'aide ou sur les Sites de nos éminents experts (dont Michel Pierron fait parti), tu vas découvrir chaque jour des dizaines d'astuces.

Bon Week-end 🙂.
 
Dernière édition:
Re : Déclarer en une fois 30 variables

Bonjour à tous,

j'écrit " Dim x%(1 To 30) As Integer "

Dim x%(1 To 30) est suffisant le % déclarant déjà le x en Integer

Aide du VBE :

Integer, type de données

Les variables de type Integer sont stockées sous la forme de nombres de 16 bits (2 octets) dont la valeur est comprise entre -32 768 et 32 767. Le caractère de déclaration de type
Integer est le signe %.

A+ à tous
 
Re : Déclarer en une fois 30 variables

Bonjour le fil 🙂,
Euh, je voudrais pas avoir l'air rabat-joie, mais déclarer une variable tableau de 30 valeurs ne s'apparente pas, pour moi, à déclarer 30 variables 🙄...
D'ailleurs, pour déclarer 30 tableaux, il va falloir déclarer un seul tableau à 2 dimensions, ce qui risque de ne pas être bien digéré 😛...
Malheureusement, je ne pense pas qu'il existe une possibilité de déclarer des variables concaténées, comme dans les contrôles USF où on peux faire appel à Controls("TextBox" & X) 😱...
Bon WE 😎
 
Re : Déclarer en une fois 30 variables

Bonjour MJ13, JCGL et JNP.

@MJ13: non pas l'informatique, mais le VBA.

@JCGL: merci pour ces éclairecissements.

@JNP: tu as mal compris. Au lieu d'écrire Dim x1, x2, x3 etc. As Integer, tu écrit comme le propose Michel Pierron.

Une autre chose.

Est-il juste de déclarer des Variables Public dans un module, mais que celles-ci sont référencées dans un formulaire, qui lui est Private?


A+ 😎
 
Re : Déclarer en une fois 30 variables

Bonjour à tous
Une piste ?
VB:
Sub variables()
Dim i&, vr, tmp
  vr = Array(30)
  ReDim Preserve vr(vr(0))
  For i = 3 To 5
    vr(i) = 0
  Next i
  For i = i To 10
    vr(i) = ""
  Next i
  For i = i To 15
    vr(i) = False
  Next i
  For i = i To 20
    vr(i) = 0!
  Next i
  For i = i To 25
    vr(i) = 0#
  Next i
  ReDim tmp(2, 5)
  For i = i To 30
    vr(i) = tmp
  Next i
  tmp = "VARIABLE   TYPE" & vbLf & "¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯"
  For i = 1 To vr(0)
    tmp = tmp & vbLf & Format("vr(" & i & ")", "!@@@@@@@@@@@@") & Format(VarType(vr(i)), "@@@@")
  Next
  MsgBox Replace(tmp, " ", "_")
  tmp = Empty
End Sub
ROGER2327
#5070


Mercredi 18 Pédale 138 (Saint Nosocome, carabin, SQ)
22 Ventôse An CCXIX
2011-W10-6T09:17:54Z
 
Dernière édition:
Re : Déclarer en une fois 30 variables

Re…
Un autre essai :
VB:
Sub variables2()
Dim i&, j&, vr, tmp, dat(3)
  vr = Array(dat, dat)
  For i = 0 To 3
    vr(0)(i) = 0#
  Next i
  For i = 0 To 3
    vr(1)(i) = 0
  Next i
  tmp = "VARIABLE   TYPE" & vbLf & "¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯"
  For i = 0 To 1
    For j = 0 To 3
      tmp = tmp & vbLf & Format("vr(" & i & ")(" & j & ")", "!@@@@@@@@@@@@") & Format(VarType(vr(i)(j)), "@@@@")
    Next j
  Next
  MsgBox Replace(tmp, " ", "_")
  tmp = Empty
End Sub
ROGER2327
#5071


Mercredi 18 Pédale 138 (Saint Nosocome, carabin, SQ)
22 Ventôse An CCXIX
2011-W10-6T10:34:18Z
 
Re : Déclarer en une fois 30 variables

Désolé de changer de sujet, mais j'ai un problème avec ce-ci:

Code:
Private Sub Annuler_Click()
flag = 1
Me.Pourcent.Visible = True
Application.ScreenUpdating = False
 For c = 0 To 100
 For d = 1 To Me.Barre.Width
 Me.Barre.Width = Me.Barre.Width - Me.Barre.Width * (c / 100)
 Next d
t = Timer + 0.1: Do Until Timer > t: DoEvents: Loop
  Call Vider
  Exit Sub
  Me.Pourcent.Caption = 100 - c & "%"

 Next c
  Application.ScreenUpdating = True

End Sub

Malgré le code quasi identique dans un autre formulaire, impossible de remmettre à zéro la ligne: Me.Pourcent.Caption = 100 - c & "%".

Merci de m'éclairer.


A+ 😎
 
- 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

Retour