XL 2010 Argument Then vide ou remplacé par VRAI

Orson83

XLDnaute Impliqué
Bonjour à tous,
J'aimerai avoir un éclaircissement sur une ligne de code. A la base, dans ma macro, je devais afficher un message si 123 dans C6 est VRAI. Si FAUX autre message "C'est pas 123".
J'aimerai qu'il y ai toujours cette comparaison mais je ne souhaite plus avoir le message "C'est OK pour 123".
Question : est-ce-qu'il suffit de mettre le " ' " avant le message ? Ex : 'MsgBox "C'est OK pour 123."
Où dois-je remplacer cette ligne par une autre instruction qui voudrais dire VRAI sachant que je ne souhaite aucune action visible ?

VB:
  With Feuil2.[C6]
  If .Value = 123 Then
    MsgBox "C'est OK pour 123." ' Je ne veux plus de message mais je souhaite avoir la comparaison
  Else
    MsgBox "C'est pas OK pour 123."
    End If

Merci pour vos lumières.
Tchotchodu31
 

Orson83

XLDnaute Impliqué
Bonjour François,

m'est avis que ceci devrait aller :

VB:
Sub Essai()
  With Feuil2.[C6]
    If .Value <> 123 Then MsgBox "C'est pas OK pour 123.": Exit Sub
    'suite du code VBA qui sera exécuté seulement si .Value = 123
  End With
End Sub

soan
Salut soan,
Tu as reconnu un bout de ton code ? :)
J'ai déjà un Exit Sub pour corriger une erreur d'exécution.
Si la méthode de fanch55 est suffisante et sans conséquence dans l'interprétation du code, alors je prends.
Merci pour ton retour.
François
 

soan

XLDnaute Barbatruc
Inactif
À François

bien sûr que j'ai reconnu une partie de mon code VBA ! 😜 même s'il y avait déjà un Exit Sub, ça gêne pas ; le code VBA complet de ThisWorkbook pourra être celui-ci :​

VB:
Option Explicit

Private Sub Workbook_Open()
  On Error GoTo Fin ' Gère une erreur d'exécution macro
  ActiveWindow.DisplayWorkbookTabs = False ' N'affiche pas le nom des onglets
  With Feuil2.[C10] ' attention : ce Feuil2 est le CodeName de la feuille !
    .Value = GetSerialNumber(Environ("homedrive")) ' cette cellule est remplie par un procédé automatique
    If .Value <> 123 Then MsgBox "C'est pas OK pour 123." & vbLf & vbLf _
      & "Cette opération a échoué. Veuillez contacter l'éditeur.": Exit Sub
  End With
' Suite du code VBA qui sera exécuté seulement si .Value = 123
  ActiveWindow.DisplayWorkbookTabs = True ' Affiche le nom des onglets
  Exit Sub
' Si une erreur s'est produite...
Fin:
  MsgBox "Erreur d'éxécution. Veuillez paramétrer les macros sur : " _
    & "Désactiver toutes les macros avec notification."
End Sub

remarque : je croyais que tu avais zappé mon post #30. ;)

soan
 

Orson83

XLDnaute Impliqué
À François

bien sûr que j'ai reconnu une partie de mon code VBA ! 😜 même s'il y avait déjà un Exit Sub, ça gêne pas ; le code VBA complet de ThisWorkbook pourra être celui-ci :​

VB:
Option Explicit

Private Sub Workbook_Open()
  On Error GoTo Fin ' Gère une erreur d'exécution macro
  ActiveWindow.DisplayWorkbookTabs = False ' N'affiche pas le nom des onglets
  With Feuil2.[C10] ' attention : ce Feuil2 est le CodeName de la feuille !
    .Value = GetSerialNumber(Environ("homedrive")) ' cette cellule est remplie par un procédé automatique
    If .Value <> 123 Then MsgBox "C'est pas OK pour 123." & vbLf & vbLf _
      & "Cette opération a échoué. Veuillez contacter l'éditeur.": Exit Sub
  End With
' Suite du code VBA qui sera exécuté seulement si .Value = 123
  ActiveWindow.DisplayWorkbookTabs = True ' Affiche le nom des onglets
  Exit Sub
' Si une erreur s'est produite...
Fin:
  MsgBox "Erreur d'éxécution. Veuillez paramétrer les macros sur : " _
    & "Désactiver toutes les macros avec notification."
End Sub

remarque : je croyais que tu avais zappé mon post #30. ;)

soan
Merci soan,
Je vais l'adapter.
PS : je n'avais pas oublié ton post #30 ;)
 

Discussions similaires

Statistiques des forums

Discussions
314 017
Messages
2 104 582
Membres
109 083
dernier inscrit
Stef06