Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/10/2011, 20h02   #1
 
Femme
Étudiant
Inscription : octobre 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : octobre 2011
Messages : 5
Points : -2
Points : -2
Par défaut Problème avec msgbox

Calcul_VBA.JPG

Bonjour,

J'aurais besoin d'aide: je n'arrive pas à afficher la msgbox (voir fichier joint). Je dois certainement avoir une erreur de langage.
Je voudrais que la msgbox apparaisse dès que le stock après consommation est inférieur au stock mini.
Quelqu'un peut-il m'aider?
buddy86 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2011, 20h32   #2
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
Et c'est quoi le code utilisé ? ... (pas dans un fichier joint ni une image mais sur le forum avec les balises de [code] [/code] adaptée ..!)
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2011, 20h41   #3
 
Femme
Étudiant
Inscription : octobre 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : octobre 2011
Messages : 5
Points : -2
Points : -2
Voilà le code, en espérant que c'est ça que tu veux:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
Sub stock_apres_conso()
Range("B7") = stock_apres_consommation(Range("B5"), Range("B3"))
End Sub
 
Function stock_apres_consommation(stock_initial As Single, quantite_consommee As Single)
stock_apres_consommation = stock_initial - quantite_consommee
End Function
 
Function observ_stock_apres_consommation(stock_apres_consommation As Single)
If Range("B7").Value < Range("B9").Value Then
MsgBox ("stock mini atteint, veuillez passer une commande"), vbOKOnly
End If
End Function
buddy86 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2011, 20h57   #4
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
Et comment est appelé ton code ..?

Ensuite:

lors de l'utilisation de Range(...) il convient de le préfixer du nom du classeur et de la feuille concernée pour éviter les problèmes

avec un with par exemple pour éviter de ce répéter :

pour le principe :
Code :
1
2
3
4
5
Sub stock_apres_conso()
With ThisWorkBook.sheets("feuil1") 
   .Range("B7") = stock_apres_consommation(.Range("B5"), .Range("B3"))
End With
End Sub
PS : n'oublie pas les points "." qui précise les endroit à préfixer...
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2011, 23h08   #5
 
Femme
Étudiant
Inscription : octobre 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : octobre 2011
Messages : 5
Points : -2
Points : -2
J'ai mis ça comme code:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub stock_apres_conso()
Range("B7") = stock_apres_consommation(Range("B5"), Range("B3"))
If Range("B7") < Range("B9") Then
MsgBox ("Stock minimum atteint, veuillez passer une commande")
End If
End Sub
 
Function stock_apres_consommation(stock_initial As Single, quantite_consommee As Single)
stock_apres_consommation = stock_initial - quantite_consommee
End Function
 
Function observ_stock_apres_consommation(stock_apres_consommation As Long)
If Range("B7").Value < Range("B9").Value Then
MsgBox ("stock mini atteint, veuillez passer une commande" = vbOKOnly)
Exit Function
End If
End Function
ça fonctionne mais j'ai un problème: quand j'ajoute un article (dans une autre colonne), le code ne fonctionne plus concernant la msgbox.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub stock_apres_consoB()
Range("C7") = stock_apres_consommationB(Range("C5"), Range("C3"))
End Sub
 
Function stock_apres_consommationB(stock_initialB As Single, quantite_consommeeB As Single)
stock_apres_consommationB = stock_initialB - quantite_consommeeB
End Function
 
Function observ_stock_apres_consommationB(stock_apres_consommationB As Long)
If Range("C7").Value < Range("C9").Value Then
MsgBox ("stock mini atteint, veuillez passer une commande" = vbOKOnly)
Exit Function
End If
End Function
Savez-vous ce qui ne va pas?
buddy86 est déconnecté   Envoyer un message privé Réponse avec citation 02
Vieux 17/10/2011, 01h12   #6
 
Femme
Étudiant
Inscription : octobre 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : octobre 2011
Messages : 5
Points : -2
Points : -2
Le problème est résolu
buddy86 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h23.


 
 
 
 
Partenaires

Hébergement Web