|
|
|
|
Bonjour,
J'ai une liste déroulante sur laquelle est activée une macro:
- Affichant un message lorsque certains modèles sont sélectionnés
- Faisant tourner une macro appeler "Tx Opé"
Je souhaite rajouter une condition pour que la macro "Tx opé" ne tourne que si ma plage F16:H16 n'est pas vide. Mes connaissances limitées ne me permettent pas de trouver la solution... un message "can't execute break mode" ne cesse de s'afficher si je mets le code suivant (la partie que j'ai rajoutée étant soulignée):
Sub ValidOffre()
'
' ValidOffre Macro
' Macro recorded 22/09/2009 by rzf3pt
Dim message As String
Dim x As Variant
message = "Rappel" & vbCrLf
message = message & "Entrer un prix de vente."
If ThisWorkbook.Worksheets("Classique").Range("CB9").Value = 1 Then
If ThisWorkbook.Worksheets("Classique").Range("CG61").Value = 1 Then
x = MsgBox(message, vbOKOnly)
End If
End If
If ThisWorkbook.Worksheets("Classique").Range("F16:H16").Value <>"" Then
Range("F16:H16").Select
Application.Run "GMAC_Q42009.xls!tx_opé"
End If
End Sub
Merci d'avance pour votre aide!
Configuration: Windows XP Internet Explorer 7.0
Bonjour,
|
Pour répondre à jujudobrazil,
Dim plage As Range
Dim cl
Set plage = ThisWorkbook.Worksheets("Classique").Range("F16:H16")
For Each cl In plage
If cl.Value = "" Then
MsgBox "Une cellule n'est pas renseignée !!!"
Exit Sub
End If
Next cl
Application.Run "GMAC_Q42009.xls!tx_opé"
Set plage = Nothing
D'autre part ici : If ThisWorkbook.Worksheets("Classique").Range("CB9").Value = 1 Then If ThisWorkbook.Worksheets("Classique").Range("CG61").Value = 1 Then x = MsgBox(message, vbOKOnly) End If End If Tu ne donnes pas la main à l'utilisateur pour "Entrer un prix de vente" !!! ? ;o) «Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.» Nicolas Boileau |