Utilisation Input Box suivi d'un Msg Box

Résolu/Fermé
simon7339
Messages postés
68
Date d'inscription
lundi 10 mars 2014
Statut
Membre
Dernière intervention
10 avril 2018
- 29 déc. 2014 à 17:30
jordane45
Messages postés
36066
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 août 2022
- 30 déc. 2014 à 15:16
Bonjour à tous,

Je débute sur VBA Excel et suis en train de finir ma première macro pour mon travail. Tout s'est bien passé sauf maintenant où je bloque sur la fin.

En gros je voulais savoir s'il était possible (oui je sais tout est possible...) :

En fonction de la valeur d'une cellule :

Si la cellule est strictement supérieur à 1
==> Alors InputBox pour remplir un commentaire qui sera extrait vers un autre tableau
==> Ensuite MsgBox avec si OUI (on on ne change pas la valeur de la cellule); si NON (la valeur de la cellule sera changé en 0)

Et si la cellule inférieur ou égale à 1 : rien ne se passe

Désolé de poser la question comme ça mais là je bloque (moins facile sans l'enregistreur de Macro).

Merci d'avance pour votre aide s'il y'en a qui passe par là.

En attendant super forum, continuez comme ça ;)

Bonne soirée à tous.

4 réponses

jordane45
Messages postés
36066
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 août 2022
4 282
29 déc. 2014 à 17:38
Bonjour,

Sub test()

'Si la cellule est strictement supérieur à 1
If Range("A1").Value > 1 Then

  valInput = InputBox("Saisir un commentaire", "mon titre", "valeur par defaut")
  'copie du texte dans une autre cellule:
  Range("B1").Value = valInput
  
  ' Ensuite MsgBox avec si OUI (on on ne change pas la valeur de la cellule); si NON (la valeur de la cellule sera changé en 0)
    If (MsgBox("une question...", vbYesNo) = vbYes) Then
        'on fait rien
    Else
        Range("A1").Value = 0
    End If
  

Else 'Et si la cellule inférieur ou égale à 1 : rien ne se passe
 ' et bien.. rien...
 ' le else n'est donc pas nécéssaire.. mais c'était pour que tu comprennes..
 Debug.Print "La valeur est supérieur à 1 !"
End If


End Sub

 
0
simon7339
Messages postés
68
Date d'inscription
lundi 10 mars 2014
Statut
Membre
Dernière intervention
10 avril 2018
1
30 déc. 2014 à 14:29
Au top merci c'est exactement ce que je voulais faire.

Parfait ;)
0
simon7339
Messages postés
68
Date d'inscription
lundi 10 mars 2014
Statut
Membre
Dernière intervention
10 avril 2018
1
30 déc. 2014 à 14:40
J'ai également un petit problème avec la fonction SI ET OU.

En faite je pense qu'il faut imbriquer les 3 mais cela donne partiellement le résultat que je veux.

En gros :

J'ai une colonne A, avec soit IN soit OUT

Une colonne B, avec soit case vide, soit chiffre (1,2 ou 3) ou soit #N/A


Je veux que le chiffre 1 soit renvoyé en C si :

-Dans cellule A1 = OUT
-Dans cellule B1 : soit un chiffre soit #N/A

J'ai donc construit la valeur comme suit :

=SI(ET(OU(B1<>"";ESTNA(B1));A1="OUT");1)

Cependant la valeur 1 est bien renvoyé quand B1 n'est pas vide mais renvoie #N/A quand B1 est #N/A

Voyez vous l'erreur que j'ai faite? Merci d'avance
0
jordane45
Messages postés
36066
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 août 2022
4 282
30 déc. 2014 à 14:58
Cette question n'a rien à voir avec la précédente....

La question précédente concernait du VBA .. là .. il s'agit d'une FORMULE EXCEL....
Quoi qu'il en soit.. il est préférable de ne poser qu' UNE seule question par discussion.

Mais bon.. pour cette fois... faisons comme si ce n'était pas gênant...
Je pense que la bonne formule serait plutot :
=SI(ET(A1;SI(ESTNA(B1);1;B1<>""));1;0)
0
simon7339
Messages postés
68
Date d'inscription
lundi 10 mars 2014
Statut
Membre
Dernière intervention
10 avril 2018
1
30 déc. 2014 à 15:15
Bon ba ça marche, merci Jordane pour tout tu m'a vraiment bien dépanné c'est cool.

Ok je prends note pour les prochaines questions.

Encore merci, bonne journée à toi
0
jordane45
Messages postés
36066
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 août 2022
4 282
30 déc. 2014 à 15:16
Si la question est résolue..
Merci de ne pas oublier de clôturer le sujet
(en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)

Cordialement,
Jordane
0