Création d'une macro "if"

chnook

XLDnaute Junior
Bonjour,
Pour projet en cours nous devons créer un programme suivant un theme. Le mien consiste à dimensionner les fondations profondes. Aucun problèmes pour le dimensionnement en tant que tel mais les macros me donnent, quant à elles, pas mal de fils à retordre. J’aurais besoin de créer une macro (logique if) qui devient active lorsque l’utilisateur clique sur un bouton.

Voici la logique de ma macro :
Si la valeur de ma cellule appellée « der_cou » est = 0
Alors le Public Sub derniere_couche_manquante () s’affiche
Sinon Sélectionner la feuille « Autres informations »


Le but est qu’elle s’active lorsque je clique sur un bouton.
Et pour informations supplémentaires (je ne sais pas si vous en avez besoin) :
La valeur de la cellule der_cou est rentrée par l’utilisateur
La logique du public sub est :

Public Sub derniere_couche_manquante()
MsgBox "Vous n'avez pas renseigné les indications de la dernière couche ..."
End Sub


En cherchant (un peu) sur le net j’ai trouvé quelques exemples mais aucun ne correspond à ce que je souhaite donc j’ai essayé de bidouiller un peu mais ce que j’ai fait ne semble pas du tout fonctionner, j’ai le message suivant :
Fehler beim Kompilieren :
Else ohne If

Ce qui signifie Erreur lors de la compilation :
Else sans If

(Sauf que j’ai mis un if)
Ma macro :

Sub verification_couche()
'Si la valeur der_cou = 0 alors derniere_couche_manquante
If Range("der_cou") <> 0 Then Call derniere_couche_manquante
Else
Sheets("Données géotechniques").Select
Range("A1").Select
End If
End Sub


Merci d’avance et en espérant avoir été suffisamment claire. Et je vous présente mes excuses si le vocabulaire utilisé n’est pas celui d’un informaticien.
Bonne journée
 

tototiti2008

XLDnaute Barbatruc
Re : Création d'une macro "if"

Bonjour chnook,

Si tu mets l'action à réaliser directement derrière le Then, alors le Else devra également être sur la même ligne et tu n'auras pas besoin de End If

à tester

Code:
Sub verification_couche()
    'Si la valeur der_cou = 0 alors  derniere_couche_manquante
If Range("der_cou") <> 0 Then 
Call derniere_couche_manquante
Else
Sheets("Données géotechniques").Select
Range("A1").Select
End If
End Sub
 

chnook

XLDnaute Junior
Re : Création d'une macro "if"

Merci pour cette réponse mais en lancant la macro j'ai le message suivant qui s'affiche :
Laufzeitfehler
Die Methode 'Range' für das objekt ist fehlgeschlagen
Erreur de délai de validité
La méthode au 'rang' pour l'objet a échoué
 

chnook

XLDnaute Junior
Re : Création d'une macro "if"

Par contre je viens de m'apercevoir de quelque chose, cette macro s'active meme si je ne clique pas sur le bouton associé. Avez vous une idée de modification pour qu'elle ne s'active uniquement lorsque l'utilisateur clique sur le bouton ?
Merci
 

Discussions similaires

Réponses
7
Affichages
334

Statistiques des forums

Discussions
312 330
Messages
2 087 337
Membres
103 524
dernier inscrit
Smile1813