VBA EXCEL boucle

Fermé
Sierus Messages postés 12 Date d'inscription vendredi 10 avril 2009 Statut Membre Dernière intervention 22 avril 2009 - 10 avril 2009 à 14:30
Sierus Messages postés 12 Date d'inscription vendredi 10 avril 2009 Statut Membre Dernière intervention 22 avril 2009 - 22 avril 2009 à 12:18
Bonjour,

Je voudrai faire une genre de boucle qui compare une valeur dans un tableau (cette valeur est obtenu grâce à une formule). Voila ce que je dois faire :

La valeur obtenue doit être supérieur ou égale à 2.00 pl/mm pour les champs de 11 à 13 cm, 1,80 pl/mm pour les champs de 15 à 18 cm, 1,40 pl/mm pour les champs de 20 à 25cm, 1,25 pl/mm pour les champs de 28 à 33 cm, 0,90 pl/mm pour les champs de 35 à 42 cm.

La valeur du champ est rentré dans une cellule.

Je ne connais pas le language VBA(excel) je sais qu'il faut utiliser une boucle if...else.

Merci pour votre aide.
A voir également:

10 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 745
10 avril 2009 à 14:37
Salut,
Je crois que tu peux te passer de vba pour cela. une formule avec plusieurs "Si" imbriqués doit suffire. Tu devrais placer ce post dans le forum bureautique il y a des cracks là bas.
0
Sierus Messages postés 12 Date d'inscription vendredi 10 avril 2009 Statut Membre Dernière intervention 22 avril 2009
10 avril 2009 à 15:06
Salut,

Autrement dit (je le fais pour un cas), ca donne ca:

If (11<cells(?;?)<13) (si le champ est compris entre les 2 valeurs)

If (cells(?,?)>=2) chiffre obtenu sup ou egale a 2 pl/mm
then "conforme"
Else "non conforme"

End if

et je voudrai aussi savoir comment on peut mettre ceci dans une cellule :
then "conforme"
Else "non conforme"

Merci
0
Tu dois créer un tableau à 2 colonnes A et B
Tu mettras dans la colonne A les nombres 11, 12, 13 ……. 42
Dans la colonne B tu écriras la formule :
=SI(11<A1>13;2;" ")
Tu dois copier la formule dans les autres cellules jusqu'en face du dernier nombre 42
Et rectifies les valeurs dans la formule
Bonne chance
Djil50
0
Sierus Messages postés 12 Date d'inscription vendredi 10 avril 2009 Statut Membre Dernière intervention 22 avril 2009
11 avril 2009 à 14:36
Oui il y a cette façon, mais je voulais passer par un petit programme sous VBA, au lieu de créer un tableau.

Je n'arrive pas à sélectionner la cellule puis la comparer et enfin dire si elle correspond au norme >2 par exemple.
0
Voici un autre exemple sous vba

Sub Test()
If Range("B2") = "" Then 'Si la cellule est vide alors
MsgBox "La cellule B2 est vide, vous devez entrez une valeur" 'Message
Exit Sub 'je sors de la procédure
ElseIf Range("B2") = 14 Or Range("B2") = 19 Or Range("B2") = 26 Or Range("B2") = 27 Or Range("B2") = 34 Or Range("B2") >= 43 Then 'Si la cellule est vide alors
MsgBox "La valeur que vous avez saisie n'est pas comprise dans vos calculs" 'Message
Exit Sub 'je sors de la procédure
ElseIf Range("B2") >= 11 And Range("B2") <= 13 Then ' (si le champ est compris entre les 2 valeurs)
MsgBox "Votre résultat est égale à 2" 'Message
ElseIf Range("B2") >= 15 And Range("B2") <= 18 Then ' (si le champ est compris entre les 2 valeurs)
MsgBox "Votre résultat est égale à 1.8" 'Message
ElseIf Range("B2") >= 20 And Range("B2") <= 25 Then ' (si le champ est compris entre les 2 valeurs)
MsgBox "Votre résultat est égale à 1.40" 'Message
ElseIf Range("B2") >= 28 And Range("B2") <= 33 Then ' (si le champ est compris entre les 2 valeurs)
MsgBox "Votre résultat est égale à 1.25" 'Message
ElseIf Range("B2") >= 35 And Range("B2") <= 42 Then ' (si le champ est compris entre les 2 valeurs)
MsgBox "Votre résultat est égale à 0.90" 'Message
End If 'fin de condition
End Sub
0
Voici un autre exemple pour toi SIERUS

Sub Test2()
Select Case Range("D2").Value ' Les valeurs pour lesquels on doit faire le test doivent être écrites dans la cellule D2
Case 11 To 13
[D4] = 2 ' Cellule où apparaît le résultat
MsgBox "Résultat dans Cellule D4"
Case 15 To 18
[D4] = 1.8
MsgBox "Résultat dans Cellule D4"
Case 20 To 25
[D4] = 1.4
MsgBox "Résultat dans Cellule D4"
Case 28 To 33
[D4] = 1.25
MsgBox "Résultat dans Cellule D4"
Case 35 To 42
[D4] = 0.9
MsgBox "Résultat dans Cellule D4"
Case Else
MsgBox "Valeur incorrecte"
End Select
End Sub
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Sierus Messages postés 12 Date d'inscription vendredi 10 avril 2009 Statut Membre Dernière intervention 22 avril 2009
11 avril 2009 à 21:47
Merci je vais tester ça lundi :) et je te tiens au courant :)
0
Sierus Messages postés 12 Date d'inscription vendredi 10 avril 2009 Statut Membre Dernière intervention 22 avril 2009
22 avril 2009 à 12:18
Merci sa marche.
0
Sierus Messages postés 12 Date d'inscription vendredi 10 avril 2009 Statut Membre Dernière intervention 22 avril 2009
22 avril 2009 à 12:05
Merci il me fallait ça.

J'ai encore une question, voila j'aimerai savoir si c'est possible de créer un menu déroulant et de choisir un mode.
Quand un mode est choisi la feuille affiche les propres caractérisques du mode (feuille déjà rempli)?

Est ce possible ?

Merci
0
Sierus Messages postés 12 Date d'inscription vendredi 10 avril 2009 Statut Membre Dernière intervention 22 avril 2009
22 avril 2009 à 12:09
Merci, il me fallait ça.

J'ai encore besoin de vous. Voila je veux créer un menu déroulant avec 2 modes.
Chaque mode possede sa propre feuille. Autrement dit, je sélectionne un mode et alors les caractéristiques s'affichent sur la feuille.

Merci
0
Sierus Messages postés 12 Date d'inscription vendredi 10 avril 2009 Statut Membre Dernière intervention 22 avril 2009
22 avril 2009 à 12:09
merci ca marche
0
Sierus Messages postés 12 Date d'inscription vendredi 10 avril 2009 Statut Membre Dernière intervention 22 avril 2009
22 avril 2009 à 12:11
merci il me fallait ca.

Puis je créer un menu déroulant qui m'affiche pour chaque mode choisit une feuille ?
0
Sierus Messages postés 12 Date d'inscription vendredi 10 avril 2009 Statut Membre Dernière intervention 22 avril 2009
22 avril 2009 à 12:18
:)
0