OVH Cloud OVH Cloud

Dim u%, i%

4 réponses
Avatar
Jean-Paul V
Bonjour à tous
J’ai le code suivant ( fait par Michel Pierron) associé à un userform.
J’aimerai lui ajouter 2 variables TypeMarker et TypeSérie sachant que ces
variables dépendent de i et leur valeur obtenue donne par exemple ’’NM’’ ou
’’B’’ donc des libellés comment dois –je les déclarer ?
Ma question est : est-ce que i% veut dire que i ne peut prendre que des
valeurs numériques ?
Que dois-je mettre pour TypeMarker er TypeSérie sachant que :
TypeMarker = Cells(i + 1, 5) et donne en résultat de type libellé
TypeSérie = Cells(i + 1, 6) et donne en résultat de type libellé

Option Explicit
Private iColors(1 To 56) As New lblClass
Private Sub UserForm_Initialize()
Dim u%, i%, Ctl As Control
With ThisWorkbook.Sheets("69Graph")
' Recherche de l'index du graphique actuel
i = InStr(1, .ChartObjects("graphe").Chart.ChartTitle.Text, "(", 1)
u = Val(Mid$(.ChartObjects("graphe").Chart.ChartTitle.Text, i + 1))
' Recherche du numéro de ligne correspondantsur la feuille "69Graph"
i = RowFind(ThisWorkbook.Sheets("69Graph"), 4, u, True)
' Positionnement de la ListeBox sur le graphique actuel
Me.ListBox1.ListIndex = i - 1
With .ChartObjects("graphe").Chart.ChartArea
u = .Interior.ColorIndex
End With
End With
' Create lblGroup objects
For Each Ctl In Me.Controls
If Left(Ctl.Name, 3) = "lbl" Then)
i = Val(Mid(Ctl.Name, 4))
‘ Je comptais ajouter ici ajouter mes 2 variables
‘ Set TypeMarker = Cells(i + 1, 5) ‘ à ajouter ici car dépend de i je
suppose
‘ Set TypeSéries = Cells(i + 1, 6) ‘ à ajouter au code je suppose
Set iColors(i).lblGroup = Ctl
' Présélection palette quand concordance des couleurs
If i = u Then
Me.Current.Top = Ctl.Top - 3
Me.Current.Left = Ctl.Left - 3
End If
End If
Next Ctl
End Sub

.à +

4 réponses

Avatar
papou
Bonjour
% signifie que la variable est de type nombre entier (integer)
& signifie que la variable est de type nombre entier long (long)
! signifie que la variable est de type nombre à virgule flottante en simple
précision (single)
# signifie que la variable est de type nombre à virgule flottante en double
précision (double)
@ signifie que la variable est de type nombre monétaire (currency)
$ signifie que la variable est de type chaîne texte (string)

Si tes variables TypeMarker et TypeSérie renvoient des valeurs textes tu
sais donc quelle déclaration tu dois faire ;-)

Cordialement
Pascal

"Jean-Paul V" a écrit dans le message
de news:
Bonjour à tous
J'ai le code suivant ( fait par Michel Pierron) associé à un userform.
J'aimerai lui ajouter 2 variables TypeMarker et TypeSérie sachant que ces
variables dépendent de i et leur valeur obtenue donne par exemple ''NM''
ou
''B'' donc des libellés comment dois -je les déclarer ?
Ma question est : est-ce que i% veut dire que i ne peut prendre que des
valeurs numériques ?
Que dois-je mettre pour TypeMarker er TypeSérie sachant que :
TypeMarker = Cells(i + 1, 5) et donne en résultat de type libellé
TypeSérie = Cells(i + 1, 6) et donne en résultat de type libellé

Option Explicit
Private iColors(1 To 56) As New lblClass
Private Sub UserForm_Initialize()
Dim u%, i%, Ctl As Control
With ThisWorkbook.Sheets("69Graph")
' Recherche de l'index du graphique actuel
i = InStr(1, .ChartObjects("graphe").Chart.ChartTitle.Text, "(", 1)
u = Val(Mid$(.ChartObjects("graphe").Chart.ChartTitle.Text, i + 1))
' Recherche du numéro de ligne correspondantsur la feuille "69Graph"
i = RowFind(ThisWorkbook.Sheets("69Graph"), 4, u, True)
' Positionnement de la ListeBox sur le graphique actuel
Me.ListBox1.ListIndex = i - 1
With .ChartObjects("graphe").Chart.ChartArea
u = .Interior.ColorIndex
End With
End With
' Create lblGroup objects
For Each Ctl In Me.Controls
If Left(Ctl.Name, 3) = "lbl" Then)
i = Val(Mid(Ctl.Name, 4))
' Je comptais ajouter ici ajouter mes 2 variables
' Set TypeMarker = Cells(i + 1, 5) ' à ajouter ici car dépend de i je
suppose
' Set TypeSéries = Cells(i + 1, 6) ' à ajouter au code je suppose
Set iColors(i).lblGroup = Ctl
' Présélection palette quand concordance des couleurs
If i = u Then
Me.Current.Top = Ctl.Top - 3
Me.Current.Left = Ctl.Left - 3
End If
End If
Next Ctl
End Sub

.à +



Avatar
Ardus Petus
Puisque ce sont des libellés:

Dim TypeMarker as String
Dim TypeSérie as String

Cordialement,
--
AP

"Jean-Paul V" a écrit dans le message
de news:
Bonjour à tous
J'ai le code suivant ( fait par Michel Pierron) associé à un userform.
J'aimerai lui ajouter 2 variables TypeMarker et TypeSérie sachant que ces
variables dépendent de i et leur valeur obtenue donne par exemple ''NM''
ou
''B'' donc des libellés comment dois -je les déclarer ?
Ma question est : est-ce que i% veut dire que i ne peut prendre que des
valeurs numériques ?
Que dois-je mettre pour TypeMarker er TypeSérie sachant que :
TypeMarker = Cells(i + 1, 5) et donne en résultat de type libellé
TypeSérie = Cells(i + 1, 6) et donne en résultat de type libellé

Option Explicit
Private iColors(1 To 56) As New lblClass
Private Sub UserForm_Initialize()
Dim u%, i%, Ctl As Control
With ThisWorkbook.Sheets("69Graph")
' Recherche de l'index du graphique actuel
i = InStr(1, .ChartObjects("graphe").Chart.ChartTitle.Text, "(", 1)
u = Val(Mid$(.ChartObjects("graphe").Chart.ChartTitle.Text, i + 1))
' Recherche du numéro de ligne correspondantsur la feuille "69Graph"
i = RowFind(ThisWorkbook.Sheets("69Graph"), 4, u, True)
' Positionnement de la ListeBox sur le graphique actuel
Me.ListBox1.ListIndex = i - 1
With .ChartObjects("graphe").Chart.ChartArea
u = .Interior.ColorIndex
End With
End With
' Create lblGroup objects
For Each Ctl In Me.Controls
If Left(Ctl.Name, 3) = "lbl" Then)
i = Val(Mid(Ctl.Name, 4))
' Je comptais ajouter ici ajouter mes 2 variables
' Set TypeMarker = Cells(i + 1, 5) ' à ajouter ici car dépend de i je
suppose
' Set TypeSéries = Cells(i + 1, 6) ' à ajouter au code je suppose
Set iColors(i).lblGroup = Ctl
' Présélection palette quand concordance des couleurs
If i = u Then
Me.Current.Top = Ctl.Top - 3
Me.Current.Left = Ctl.Left - 3
End If
End If
Next Ctl
End Sub

.à +



Avatar
jps
tiens, jean-paul, lis ceci et tu comprendras pourquoi les carcks, histoire
de nous embrouiller un peu plus la tête, utilise des symboles pour déclarer
les variable...
si tu vois passer un "Dim$", ça voudra dire Dim As String
en l'occurrence, le Dim% ne peut s'appliquer qu'à du numérique
HYH
jps

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 %.

"Jean-Paul V" a écrit dans le message
de news:
Bonjour à tous
J’ai le code suivant ( fait par Michel Pierron) associé à un userform.
J’aimerai lui ajouter 2 variables TypeMarker et TypeSérie sachant que ces
variables dépendent de i et leur valeur obtenue donne par exemple ’’NM’’
ou
’’B’’ donc des libellés comment dois –je les déclarer ?
Ma question est : est-ce que i% veut dire que i ne peut prendre que des
valeurs numériques ?
Que dois-je mettre pour TypeMarker er TypeSérie sachant que :
TypeMarker = Cells(i + 1, 5) et donne en résultat de type libellé
TypeSérie = Cells(i + 1, 6) et donne en résultat de type libellé

Option Explicit
Private iColors(1 To 56) As New lblClass
Private Sub UserForm_Initialize()
Dim u%, i%, Ctl As Control
With ThisWorkbook.Sheets("69Graph")
' Recherche de l'index du graphique actuel
i = InStr(1, .ChartObjects("graphe").Chart.ChartTitle.Text, "(", 1)
u = Val(Mid$(.ChartObjects("graphe").Chart.ChartTitle.Text, i + 1))
' Recherche du numéro de ligne correspondantsur la feuille "69Graph"
i = RowFind(ThisWorkbook.Sheets("69Graph"), 4, u, True)
' Positionnement de la ListeBox sur le graphique actuel
Me.ListBox1.ListIndex = i - 1
With .ChartObjects("graphe").Chart.ChartArea
u = .Interior.ColorIndex
End With
End With
' Create lblGroup objects
For Each Ctl In Me.Controls
If Left(Ctl.Name, 3) = "lbl" Then)
i = Val(Mid(Ctl.Name, 4))
‘ Je comptais ajouter ici ajouter mes 2 variables
‘ Set TypeMarker = Cells(i + 1, 5) ‘ à ajouter ici car dépend de i je
suppose
‘ Set TypeSéries = Cells(i + 1, 6) ‘ à ajouter au code je suppose
Set iColors(i).lblGroup = Ctl
' Présélection palette quand concordance des couleurs
If i = u Then
Me.Current.Top = Ctl.Top - 3
Me.Current.Left = Ctl.Left - 3
End If
End If
Next Ctl
End Sub

.à +



Avatar
Jean-Paul V
Bonjour à tous

Merci encore pour tous ces renseignements bien utiles.


tiens, jean-paul, lis ceci et tu comprendras pourquoi les carcks, histoire
de nous embrouiller un peu plus la tête, utilise des symboles pour déclarer
les variable...
si tu vois passer un "Dim$", ça voudra dire Dim As String
en l'occurrence, le Dim% ne peut s'appliquer qu'à du numérique
HYH
jps

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 %.

"Jean-Paul V" a écrit dans le message
de news:
Bonjour à tous
J’ai le code suivant ( fait par Michel Pierron) associé à un userform.
J’aimerai lui ajouter 2 variables TypeMarker et TypeSérie sachant que ces
variables dépendent de i et leur valeur obtenue donne par exemple ’’NM’’
ou
’’B’’ donc des libellés comment dois –je les déclarer ?
Ma question est : est-ce que i% veut dire que i ne peut prendre que des
valeurs numériques ?
Que dois-je mettre pour TypeMarker er TypeSérie sachant que :
TypeMarker = Cells(i + 1, 5) et donne en résultat de type libellé
TypeSérie = Cells(i + 1, 6) et donne en résultat de type libellé

Option Explicit
Private iColors(1 To 56) As New lblClass
Private Sub UserForm_Initialize()
Dim u%, i%, Ctl As Control
With ThisWorkbook.Sheets("69Graph")
' Recherche de l'index du graphique actuel
i = InStr(1, .ChartObjects("graphe").Chart.ChartTitle.Text, "(", 1)
u = Val(Mid$(.ChartObjects("graphe").Chart.ChartTitle.Text, i + 1))
' Recherche du numéro de ligne correspondantsur la feuille "69Graph"
i = RowFind(ThisWorkbook.Sheets("69Graph"), 4, u, True)
' Positionnement de la ListeBox sur le graphique actuel
Me.ListBox1.ListIndex = i - 1
With .ChartObjects("graphe").Chart.ChartArea
u = .Interior.ColorIndex
End With
End With
' Create lblGroup objects
For Each Ctl In Me.Controls
If Left(Ctl.Name, 3) = "lbl" Then)
i = Val(Mid(Ctl.Name, 4))
‘ Je comptais ajouter ici ajouter mes 2 variables
‘ Set TypeMarker = Cells(i + 1, 5) ‘ à ajouter ici car dépend de i je
suppose
‘ Set TypeSéries = Cells(i + 1, 6) ‘ à ajouter au code je suppose
Set iColors(i).lblGroup = Ctl
' Présélection palette quand concordance des couleurs
If i = u Then
Me.Current.Top = Ctl.Top - 3
Me.Current.Left = Ctl.Left - 3
End If
End If
Next Ctl
End Sub

.à +