label dans une macro

  • Auteur de la discussion gizmocaca
  • Date de début

gizmocaca

Expert
je voudrai tou simplement lancer un label au debut de ma macro mais je n'y arrive pas .comment faire ?
 

gizmocaca

Expert
scuse j'ai pas preciser mais en visual basic j fai une macro sur excel et quand je l execute je voudrai qu'elle maffiche un label .
 

zeb

Modérateur
Donc VBA Excel.

Qu'est-ce qu'un label pour toi ?

Pour afficher du texte :
Code:
MsgBox "Coucou !"
 

gizmocaca

Expert
ouai en fait je chercher trop compliquer . mais maintenant je voudrai qu'il q'affiche que si
il y a les classeur 2 et 3 actifs, j'ai mit ca :
Code:
If Workbooks("Classeur2" and"Classeur3").IsOpen then
     MsgBox("blabla")
'End If
mais il me met erreur execution 13
 

batchy

Grand Maître
normal :
and est défini pour des résultats logiques, pas pour des chaines.
la syntaxe est plutot
Code:
if machin(truc1) and machin(truc2)
par exemple
Code:
If Workbooks("Classeur2").IsOpen and Workbooks("Classeur3").IsOpen then
et si il y a un then il FAUT un End If.
 

zeb

Modérateur
et si il y a un then il FAUT un End If.
Ben, non...

C'est là qu'on voit que VB n'est pas un langage sérieux !!!!!
Ces différentes assertions sont sémantiquement valides :
Code:
If True Then MsgBox "Salut"

If True Then _
  MsgBox "Batchy"

If True Then _
  MsgBox "Ca va ?"
Endif

Moi qui n'aime que le C.... :pfff:
 

gizmocaca

Expert
Code:
If Not Workbooks("Classeur2").IsOpen And Workbooks("Classeur3").IsOpen Then
MsgBox ("blabla")
Else
...
End If
il me met erreur d'execution 438
prpriete ou methode non gerer par cet objet
je trouve pas ca logique ; mais peut que c'est normal?
 

zeb

Modérateur
Quelle ligne ?

Mets un point d'arrêt ( [F9] ) sur la première ligne et réexécute ton code. Dis-nous où exactement où àa plante.
 

zeb

Modérateur
Ne mets pas de parenthèses aux procédures.
Code:
MsgBox "blabla"
 

Nova13

Habitué
le "Not" n'est pas franchement approprié si tu veux savoir si tes 2 classeurs sont ouverts...
 

zeb

Modérateur
LIGNE 1 ?
Sur quel morceau. Si tu as mis le point d'arret, une partie seulelemnt de la ligne est surlignée, c'est ça qui est important
 

gizmocaca

Expert
LIGNE 1 ?
Sur quel morceau. Si tu as mis le point d'arret, une partie seulelemnt de la ligne est surlignée, c'est ça qui est important
ba c'est ca le probleme y surligne toute la ligne .alors je sais pas
 

zeb

Modérateur
Alors tu crées deux variables booléenne que tu remplis avant le IF. Cela plantera sur une des deux et tu pourras te concentrer sur un petit problème à la fois !
 

gizmocaca

Expert
Code:
Dim Classeur2 As Boolean
Dim Classeur3 As Boolean

If Workbooks("Classeur2").IsOpen And Workbooks("Classeur3").IsOpen Then
    MsgBox "blabla"
Else
c'est que tu voulai faire j'ai pas trop compris (j trouve pas ca logique) , c'est pas moi l'expert.

En tout cas ca sa fai la même chose
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 134
Messages
6 718 052
Membres
1 586 392
Dernier membre
jpaulNonDispo
Partager cette page
Haut