Je vais essayer de m'expliquer, c'est pas simple...
Jai des variables :
MarseilleMin = 15
MarseilleMax = 17
ParisMin = 21
ParisMax = 28
GrenobleMin =1
GrenobleMax = 14
Etc.
J'ai aussi une variable MATERIAL qui récupère le nom de la ville, c'est à
dire qui peut contentir les chaînes "Marseille", "Paris", "Grenoble"
Je voudrais utiliser mes variables XXXXMin, etc. dans le code, en ayant le
nom de la ville (les XXXX) dynamique. Par exemple :
MATERIAL = Cells(LigneO, ColonneO + 5).Value '(MATERIAL contient Marseille
par exemple)
C = Cells(LigneO, ColonneO + 6).Value ' C conteint 15.22 par exemple
J'ai besoin de savoir si la valeur de C est bien comprise entre les bornes
autorisées (15 - 17). Mais dans mon tableau Excel, le nom de la ville peut
être différent pour chaque ligne, et donc les bornes min et max pour C
changent à chaque ligne, fonction de la ville.
Je voudrais donc écrire un truc du genre :
If C > MATERIAL & "Min" AND C < MATERIAL & "Max" Then
Mon problème, c'est que je ne sais pas comment faire pour que MATERIAL & Min
soit reconnu comme la variable MaseilleMin ou ParisMin. Bien entendu, un
MsgBox MATERIAL & "Min" renvoie bien MarseilleMin, mais pas 15, c'est à dire
une chaîne de caractères et pas une variable.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
JLuc
Bonjour.
Je vais essayer de m'expliquer, c'est pas simple...
Jai des variables :
MarseilleMin = 15 MarseilleMax = 17
ParisMin = 21 ParisMax = 28
GrenobleMin =1 GrenobleMax = 14 Etc.
J'ai aussi une variable MATERIAL qui récupère le nom de la ville, c'est à dire qui peut contentir les chaînes "Marseille", "Paris", "Grenoble"
Je voudrais utiliser mes variables XXXXMin, etc. dans le code, en ayant le nom de la ville (les XXXX) dynamique. Par exemple :
MATERIAL = Cells(LigneO, ColonneO + 5).Value '(MATERIAL contient Marseille par exemple) C = Cells(LigneO, ColonneO + 6).Value ' C conteint 15.22 par exemple
J'ai besoin de savoir si la valeur de C est bien comprise entre les bornes autorisées (15 - 17). Mais dans mon tableau Excel, le nom de la ville peut être différent pour chaque ligne, et donc les bornes min et max pour C changent à chaque ligne, fonction de la ville.
Je voudrais donc écrire un truc du genre :
If C > MATERIAL & "Min" AND C < MATERIAL & "Max" Then
Mon problème, c'est que je ne sais pas comment faire pour que MATERIAL & Min soit reconnu comme la variable MaseilleMin ou ParisMin. Bien entendu, un MsgBox MATERIAL & "Min" renvoie bien MarseilleMin, mais pas 15, c'est à dire une chaîne de caractères et pas une variable.
C'est possible ?
Mille mercis à vous !
Et en utilisant une table de trois entrees ?
Dim VillesMinMax(1 To 50, 1 To 3) VillesMinMax(1,1) = "Marseille" VillesMinMax(1,2) = 15 VillesMinMax(1,3) = 17 VillesMinMax(2,1) = "Paris" VillesMinMax(2,2) = 21 VillesMinMax(2,3) = 28 .... ' Que tu peux remplir grace a des donnees sur une feuille Dim VillesMinMax(1 To 1, 1 To 3) NbDonnees = Sheets("Feuil1").Range("A" & Rows.Count).End(xlup).row Redim VillesMinMax(1 To NbDonnees, 1 To 3) For x = 1 To NbDonnees VillesMinMax(x,1) = Sheets("Feuil1").Range("A" & x) VillesMinMax(x,2) = Sheets("Feuil1").Range("B" & x) VillesMinMax(x,3) = Sheets("Feuil1").Range("C" & x) Next
' Ensuite tu cherche la position de la ville For x = 1 To UBound(VillesMinMax, 1) If VillesMinMax(x, 1) = "Marseille" Then position = x End If Next ' Apres : If C > VillesMinMax(VillesMinMax, 2) AND _ C < VillesMinMax(VillesMinMax, 3) Then ' Le reste de ton code ...
-- JLuc
Bonjour.
Je vais essayer de m'expliquer, c'est pas simple...
Jai des variables :
MarseilleMin = 15
MarseilleMax = 17
ParisMin = 21
ParisMax = 28
GrenobleMin =1
GrenobleMax = 14
Etc.
J'ai aussi une variable MATERIAL qui récupère le nom de la ville, c'est à
dire qui peut contentir les chaînes "Marseille", "Paris", "Grenoble"
Je voudrais utiliser mes variables XXXXMin, etc. dans le code, en ayant le
nom de la ville (les XXXX) dynamique. Par exemple :
MATERIAL = Cells(LigneO, ColonneO + 5).Value '(MATERIAL contient Marseille
par exemple)
C = Cells(LigneO, ColonneO + 6).Value ' C conteint 15.22 par exemple
J'ai besoin de savoir si la valeur de C est bien comprise entre les bornes
autorisées (15 - 17). Mais dans mon tableau Excel, le nom de la ville peut
être différent pour chaque ligne, et donc les bornes min et max pour C
changent à chaque ligne, fonction de la ville.
Je voudrais donc écrire un truc du genre :
If C > MATERIAL & "Min" AND C < MATERIAL & "Max" Then
Mon problème, c'est que je ne sais pas comment faire pour que MATERIAL & Min
soit reconnu comme la variable MaseilleMin ou ParisMin. Bien entendu, un
MsgBox MATERIAL & "Min" renvoie bien MarseilleMin, mais pas 15, c'est à dire
une chaîne de caractères et pas une variable.
C'est possible ?
Mille mercis à vous !
Et en utilisant une table de trois entrees ?
Dim VillesMinMax(1 To 50, 1 To 3)
VillesMinMax(1,1) = "Marseille"
VillesMinMax(1,2) = 15
VillesMinMax(1,3) = 17
VillesMinMax(2,1) = "Paris"
VillesMinMax(2,2) = 21
VillesMinMax(2,3) = 28
....
' Que tu peux remplir grace a des donnees sur une feuille
Dim VillesMinMax(1 To 1, 1 To 3)
NbDonnees = Sheets("Feuil1").Range("A" & Rows.Count).End(xlup).row
Redim VillesMinMax(1 To NbDonnees, 1 To 3)
For x = 1 To NbDonnees
VillesMinMax(x,1) = Sheets("Feuil1").Range("A" & x)
VillesMinMax(x,2) = Sheets("Feuil1").Range("B" & x)
VillesMinMax(x,3) = Sheets("Feuil1").Range("C" & x)
Next
' Ensuite tu cherche la position de la ville
For x = 1 To UBound(VillesMinMax, 1)
If VillesMinMax(x, 1) = "Marseille" Then
position = x
End If
Next
' Apres :
If C > VillesMinMax(VillesMinMax, 2) AND _
C < VillesMinMax(VillesMinMax, 3) Then
' Le reste de ton code
...
Je vais essayer de m'expliquer, c'est pas simple...
Jai des variables :
MarseilleMin = 15 MarseilleMax = 17
ParisMin = 21 ParisMax = 28
GrenobleMin =1 GrenobleMax = 14 Etc.
J'ai aussi une variable MATERIAL qui récupère le nom de la ville, c'est à dire qui peut contentir les chaînes "Marseille", "Paris", "Grenoble"
Je voudrais utiliser mes variables XXXXMin, etc. dans le code, en ayant le nom de la ville (les XXXX) dynamique. Par exemple :
MATERIAL = Cells(LigneO, ColonneO + 5).Value '(MATERIAL contient Marseille par exemple) C = Cells(LigneO, ColonneO + 6).Value ' C conteint 15.22 par exemple
J'ai besoin de savoir si la valeur de C est bien comprise entre les bornes autorisées (15 - 17). Mais dans mon tableau Excel, le nom de la ville peut être différent pour chaque ligne, et donc les bornes min et max pour C changent à chaque ligne, fonction de la ville.
Je voudrais donc écrire un truc du genre :
If C > MATERIAL & "Min" AND C < MATERIAL & "Max" Then
Mon problème, c'est que je ne sais pas comment faire pour que MATERIAL & Min soit reconnu comme la variable MaseilleMin ou ParisMin. Bien entendu, un MsgBox MATERIAL & "Min" renvoie bien MarseilleMin, mais pas 15, c'est à dire une chaîne de caractères et pas une variable.
C'est possible ?
Mille mercis à vous !
Et en utilisant une table de trois entrees ?
Dim VillesMinMax(1 To 50, 1 To 3) VillesMinMax(1,1) = "Marseille" VillesMinMax(1,2) = 15 VillesMinMax(1,3) = 17 VillesMinMax(2,1) = "Paris" VillesMinMax(2,2) = 21 VillesMinMax(2,3) = 28 .... ' Que tu peux remplir grace a des donnees sur une feuille Dim VillesMinMax(1 To 1, 1 To 3) NbDonnees = Sheets("Feuil1").Range("A" & Rows.Count).End(xlup).row Redim VillesMinMax(1 To NbDonnees, 1 To 3) For x = 1 To NbDonnees VillesMinMax(x,1) = Sheets("Feuil1").Range("A" & x) VillesMinMax(x,2) = Sheets("Feuil1").Range("B" & x) VillesMinMax(x,3) = Sheets("Feuil1").Range("C" & x) Next
' Ensuite tu cherche la position de la ville For x = 1 To UBound(VillesMinMax, 1) If VillesMinMax(x, 1) = "Marseille" Then position = x End If Next ' Apres : If C > VillesMinMax(VillesMinMax, 2) AND _ C < VillesMinMax(VillesMinMax, 3) Then ' Le reste de ton code ...
-- JLuc
JM
Pas pensé à ça. Merci, je vais voir si ça peur s'appliquer.
Merci encore.
"JLuc" a écrit dans le message de news:
Bonjour.
Je vais essayer de m'expliquer, c'est pas simple...
Jai des variables :
MarseilleMin = 15 MarseilleMax = 17
ParisMin = 21 ParisMax = 28
GrenobleMin =1 GrenobleMax = 14 Etc.
J'ai aussi une variable MATERIAL qui récupère le nom de la ville, c'est à
dire qui peut contentir les chaînes "Marseille", "Paris", "Grenoble"
Je voudrais utiliser mes variables XXXXMin, etc. dans le code, en ayant le
nom de la ville (les XXXX) dynamique. Par exemple :
MATERIAL = Cells(LigneO, ColonneO + 5).Value '(MATERIAL contient Marseille
par exemple) C = Cells(LigneO, ColonneO + 6).Value ' C conteint 15.22 par exemple
J'ai besoin de savoir si la valeur de C est bien comprise entre les bornes
autorisées (15 - 17). Mais dans mon tableau Excel, le nom de la ville peut
être différent pour chaque ligne, et donc les bornes min et max pour C changent à chaque ligne, fonction de la ville.
Je voudrais donc écrire un truc du genre :
If C > MATERIAL & "Min" AND C < MATERIAL & "Max" Then
Mon problème, c'est que je ne sais pas comment faire pour que MATERIAL & Min
soit reconnu comme la variable MaseilleMin ou ParisMin. Bien entendu, un MsgBox MATERIAL & "Min" renvoie bien MarseilleMin, mais pas 15, c'est à dire
une chaîne de caractères et pas une variable.
C'est possible ?
Mille mercis à vous !
Et en utilisant une table de trois entrees ?
Dim VillesMinMax(1 To 50, 1 To 3) VillesMinMax(1,1) = "Marseille" VillesMinMax(1,2) = 15 VillesMinMax(1,3) = 17 VillesMinMax(2,1) = "Paris" VillesMinMax(2,2) = 21 VillesMinMax(2,3) = 28 .... ' Que tu peux remplir grace a des donnees sur une feuille Dim VillesMinMax(1 To 1, 1 To 3) NbDonnees = Sheets("Feuil1").Range("A" & Rows.Count).End(xlup).row Redim VillesMinMax(1 To NbDonnees, 1 To 3) For x = 1 To NbDonnees VillesMinMax(x,1) = Sheets("Feuil1").Range("A" & x) VillesMinMax(x,2) = Sheets("Feuil1").Range("B" & x) VillesMinMax(x,3) = Sheets("Feuil1").Range("C" & x) Next
' Ensuite tu cherche la position de la ville For x = 1 To UBound(VillesMinMax, 1) If VillesMinMax(x, 1) = "Marseille" Then position = x End If Next ' Apres : If C > VillesMinMax(VillesMinMax, 2) AND _ C < VillesMinMax(VillesMinMax, 3) Then ' Le reste de ton code ...
-- JLuc
Pas pensé à ça. Merci, je vais voir si ça peur s'appliquer.
Merci encore.
"JLuc" <ns.jeanluc.laurent@free.fr.ns> a écrit dans le message de
news:mn.83877d6623a65a48.42854@free.fr.ns...
Bonjour.
Je vais essayer de m'expliquer, c'est pas simple...
Jai des variables :
MarseilleMin = 15
MarseilleMax = 17
ParisMin = 21
ParisMax = 28
GrenobleMin =1
GrenobleMax = 14
Etc.
J'ai aussi une variable MATERIAL qui récupère le nom de la ville, c'est
à
dire qui peut contentir les chaînes "Marseille", "Paris", "Grenoble"
Je voudrais utiliser mes variables XXXXMin, etc. dans le code, en ayant
le
nom de la ville (les XXXX) dynamique. Par exemple :
MATERIAL = Cells(LigneO, ColonneO + 5).Value '(MATERIAL contient
Marseille
par exemple)
C = Cells(LigneO, ColonneO + 6).Value ' C conteint 15.22 par exemple
J'ai besoin de savoir si la valeur de C est bien comprise entre les
bornes
autorisées (15 - 17). Mais dans mon tableau Excel, le nom de la ville
peut
être différent pour chaque ligne, et donc les bornes min et max pour C
changent à chaque ligne, fonction de la ville.
Je voudrais donc écrire un truc du genre :
If C > MATERIAL & "Min" AND C < MATERIAL & "Max" Then
Mon problème, c'est que je ne sais pas comment faire pour que MATERIAL &
Min
soit reconnu comme la variable MaseilleMin ou ParisMin. Bien entendu, un
MsgBox MATERIAL & "Min" renvoie bien MarseilleMin, mais pas 15, c'est à
dire
une chaîne de caractères et pas une variable.
C'est possible ?
Mille mercis à vous !
Et en utilisant une table de trois entrees ?
Dim VillesMinMax(1 To 50, 1 To 3)
VillesMinMax(1,1) = "Marseille"
VillesMinMax(1,2) = 15
VillesMinMax(1,3) = 17
VillesMinMax(2,1) = "Paris"
VillesMinMax(2,2) = 21
VillesMinMax(2,3) = 28
....
' Que tu peux remplir grace a des donnees sur une feuille
Dim VillesMinMax(1 To 1, 1 To 3)
NbDonnees = Sheets("Feuil1").Range("A" & Rows.Count).End(xlup).row
Redim VillesMinMax(1 To NbDonnees, 1 To 3)
For x = 1 To NbDonnees
VillesMinMax(x,1) = Sheets("Feuil1").Range("A" & x)
VillesMinMax(x,2) = Sheets("Feuil1").Range("B" & x)
VillesMinMax(x,3) = Sheets("Feuil1").Range("C" & x)
Next
' Ensuite tu cherche la position de la ville
For x = 1 To UBound(VillesMinMax, 1)
If VillesMinMax(x, 1) = "Marseille" Then
position = x
End If
Next
' Apres :
If C > VillesMinMax(VillesMinMax, 2) AND _
C < VillesMinMax(VillesMinMax, 3) Then
' Le reste de ton code
...
Pas pensé à ça. Merci, je vais voir si ça peur s'appliquer.
Merci encore.
"JLuc" a écrit dans le message de news:
Bonjour.
Je vais essayer de m'expliquer, c'est pas simple...
Jai des variables :
MarseilleMin = 15 MarseilleMax = 17
ParisMin = 21 ParisMax = 28
GrenobleMin =1 GrenobleMax = 14 Etc.
J'ai aussi une variable MATERIAL qui récupère le nom de la ville, c'est à
dire qui peut contentir les chaînes "Marseille", "Paris", "Grenoble"
Je voudrais utiliser mes variables XXXXMin, etc. dans le code, en ayant le
nom de la ville (les XXXX) dynamique. Par exemple :
MATERIAL = Cells(LigneO, ColonneO + 5).Value '(MATERIAL contient Marseille
par exemple) C = Cells(LigneO, ColonneO + 6).Value ' C conteint 15.22 par exemple
J'ai besoin de savoir si la valeur de C est bien comprise entre les bornes
autorisées (15 - 17). Mais dans mon tableau Excel, le nom de la ville peut
être différent pour chaque ligne, et donc les bornes min et max pour C changent à chaque ligne, fonction de la ville.
Je voudrais donc écrire un truc du genre :
If C > MATERIAL & "Min" AND C < MATERIAL & "Max" Then
Mon problème, c'est que je ne sais pas comment faire pour que MATERIAL & Min
soit reconnu comme la variable MaseilleMin ou ParisMin. Bien entendu, un MsgBox MATERIAL & "Min" renvoie bien MarseilleMin, mais pas 15, c'est à dire
une chaîne de caractères et pas une variable.
C'est possible ?
Mille mercis à vous !
Et en utilisant une table de trois entrees ?
Dim VillesMinMax(1 To 50, 1 To 3) VillesMinMax(1,1) = "Marseille" VillesMinMax(1,2) = 15 VillesMinMax(1,3) = 17 VillesMinMax(2,1) = "Paris" VillesMinMax(2,2) = 21 VillesMinMax(2,3) = 28 .... ' Que tu peux remplir grace a des donnees sur une feuille Dim VillesMinMax(1 To 1, 1 To 3) NbDonnees = Sheets("Feuil1").Range("A" & Rows.Count).End(xlup).row Redim VillesMinMax(1 To NbDonnees, 1 To 3) For x = 1 To NbDonnees VillesMinMax(x,1) = Sheets("Feuil1").Range("A" & x) VillesMinMax(x,2) = Sheets("Feuil1").Range("B" & x) VillesMinMax(x,3) = Sheets("Feuil1").Range("C" & x) Next
' Ensuite tu cherche la position de la ville For x = 1 To UBound(VillesMinMax, 1) If VillesMinMax(x, 1) = "Marseille" Then position = x End If Next ' Apres : If C > VillesMinMax(VillesMinMax, 2) AND _ C < VillesMinMax(VillesMinMax, 3) Then ' Le reste de ton code ...