XL 2010 Problème de syntaxe d'une macro

Orson83

XLDnaute Impliqué
Bonjour à tous,
J'ai réalisé une macro qui ne fonctionne pas correctement. Désolé pour mon niveau en VBA o_O
Si quelqu'un pouvait jeter un coup d'oeil, ce serait sympa ;)
Pour faire simple, je cherche à faire une action dans la feuille 2 qui est Very Hidden à l'ouverture du classeur, je fais mon action à l'intérieur, puis je la remets Very Hidden.
Les actions consistent à renseigner la cellule C10 (ce sera automatique) avec 2 messages, message 1 si la cellule est complétée, message 2 si elle est vide. J'ai inséré aussi une gestion de beug avaec On Error GoTo Fin.

VB:
Option Explicit

Dim Sh As Worksheet

Private Sub Workbook_Open()
On Error GoTo Fin ' Gère une erreur d'exécution macro
Sheets("Feuil2").Visible = xlSheetVisible
  With Sheets("Feuil2")
    If Range("C10") = "" Then
      .Range("C10") = "123"
    If Range("C10") = "" Then
        MsgBox "Cette opération a échoué. Veuillez contacter l'éditeur."
    Else
      MsgBox "Opération réalisée avec succès. Merci de transmettre ce fichier à l'éditeur."
    If Sheets("Feuil2").Visible = True
    Alors
        Sheets("Feuil2").Visible = xlSheetVeryHidden
    End If
    End If
  End With
  ' 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

Merci pour votre aide.
Tchotchodu31
 
Solution
@Tchotchodu31, Phil,

coucou François, ton fichier en retour. :)

code VBA de ThisWorkbook :

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 Worksheets("Feuil2")
    .[C10] = GetSerialNumber(Environ("homedrive")) ' cette cellule est remplie par un procédé automatique
    If .[C10] = "" Then
      MsgBox "Cette opération a échoué. Veuillez contacter l'éditeur."
    Else
      MsgBox "Opération réalisée avec succès. Merci de transmettre ce fichier à l'éditeur."
    End If
  End With
  ActiveWindow.DisplayWorkbookTabs = True ' Affiche le nom des onglets
Exit Sub
  ' Si une erreur s'est produite...

soan

XLDnaute Barbatruc
Inactif
Image.jpg


tu vois, François ? j'ai pas autant d'chance que toi, moi ! 😭 j'dois contacter l'éditeur ! 😢

soan
 

Orson83

XLDnaute Impliqué
@Tchotchodu31, Phil,

petite amélioration du fichier précédent. :)

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 = "" Then
      MsgBox "Cette opération a échoué. Veuillez contacter l'éditeur."
    Else
      MsgBox "Opération réalisée avec succès. Merci de transmettre ce fichier à l'éditeur."
    End If
  End With
  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

soan
Tu as tapé dans le mile soan, bravo !
Merci pour ta contribution.
PS : je vois que tu ne dis pas que des bêtises, tu bosse bien aussi ;)
 

Orson83

XLDnaute Impliqué
« Tu as tapé dans le mille soan, bravo ! »

merci pour ton retour ! 😊



« tu bosses bien aussi ;) »

n'est-ce pas ? 😜

soan
J'ai encore du travail, la preuve aujourd'hui, mais j'espère aussi pouvoir aider les autres.
Je l'ai déjà fait sur le forum mais sur des thèmes qui me sont plus accessibles.
Bonne soirée.
Merci à tous ceux qui ont participé à ce phil 😁
Je passe le sujet en résolu.
 

Discussions similaires

Réponses
6
Affichages
394
Réponses
3
Affichages
328

Statistiques des forums

Discussions
315 130
Messages
2 116 569
Membres
112 787
dernier inscrit
said.souhassou