IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

VBA Fonction IF


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 19
    Par défaut VBA Fonction IF
    Bonjour à tous,

    Voilà, j’aimerai développer , dans un de mes tableau excel, une macro, associée à un bouton :

    Si la case D8 est remplie, c’est parfait, on passe à la condition suivante
    Sinon, message d’erreur « veuillez selectionner vos initiales »

    Ensuite, Si la case E14 est remplie, alors la case F14 doit etre remplie, la case L14doit etre <>0 et les cases GHIJK 35 doivent être égales à 1 (et cela pour les lignes 14 à 33)
    Si ce n'est pas le cas, message d’erreur « veuillez vérifier vos activités et vos entrées temps »
    Par contre, si la case E14 n’est pas remplie, alors la case F14 est vide et la case L14 doit être =0

    Si tout est vérifié, la macro enregistre le fichier et ferme le classeur.

    Je suppose qu'il faut utiliser la fonction IF et une boucle...cependant, je suis nu gros débutant...

    Merci de m’aider,

    Cordialement

  2. #2
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Salut Bykeman (fan de bike ?)

    Bienvenue au forum :

    En vitesse ta solution pourrait être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    if Range("D8").value = "" then
      Msgbox.....
     else
      for line = 14 to 33
      If Range("E" & line).value <> "" then
        if Range("F" & line).value = "" or Range("L" & Line).value = 0 Or Range("G" &line).value <> 1 Or Range("H" &line).value <> 1 Or Range("H" &line).value <> 1  Or Range("I" &line).value <> 1 Or Range("J" &line).value <> 1 Or Range("K" &line).value <> 1  then
           Msgbox.....
       endif
     next line
    endif
    NB : je n'ai pas compris ton 35 après HGIJK, car s'il est juste, ta conbdition ne doit pas etre dans la boucle des lignes 14 à 33

  3. #3
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 19
    Par défaut
    Merci de ta réponse ( et je suis un ancien fan de bike )

    Par contre, ce que je souaites pour les lignes HGIJK, c'est que si la colonne E est remplie, alors au moins une des cellule HGIJK 35 doit être égale à 100%...

    Le mieux c'est que je te montre mon tableau.. quel est le moyen le plus simple?

    En tout cas, encore merci d'avoir passer un peu de temps sur mon problème

  4. #4
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 19
    Par défaut
    Après avoir remodelé mon tableau, Je pense ne plus être moin de la solution! Par contre, comment faire arreter la macro automatiquement après l'affichage d'un message d'erreur? (je voudrai un équivalent du "stop" qui se trouve sous ma première msgbox, car ce stop ne fonctionne pas, et la macro me lance le débogeur a chaque fois...)

    Si aucnu message d'erreur, la macro enregristre le fichier, sinon, la mcro s'arrete après le message d'erreur
    voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Sub Envoyer_click() 
     
    If Range("j4" ).Value = "" Then 
    MsgBox "Veuillez sélectionner vos initiales" 
    Stop 
    Else 
      For Line = 10 To 29 
            If Range("k" & Line).Value <> "" Then 
                If Range("l" & Line).Value = "" Then 
                MsgBox "Veuillez vérifier vos thèmes" 
     
                    ElseIf Range("r" & Line).Value = 0 Then 
                    MsgBox "Veuillez vérifier vos entrées temps" 
     
                        ElseIf Range("m31" ) <> 1 Or Range("n31" ) <> 1 Or Range("o31" ) <> 1 Or Range("p31" ) <> 1 Or Range("q31" ) <> 1 Then 
                        MsgBox "Veuillez vérifier vos entrées temps" 
     
                End If 
            End If 
     
     Next Line 
     
    ActiveWorkbook.saveas Filename:=Range("c1" ) & "\DT" & Range("u5" ) & ".xls" 
     
    End If 
     
    End Sub

  5. #5
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    B'jour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Range("j4" ).Value = "" Then 
    MsgBox "Veuillez sélectionner vos initiales" 
    Exit Sub

  6. #6
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 19
    Par défaut
    Merci God et Fring, tout marche à la perfection!!!!

    Mais j'a une dernière petite question:
    J'aimerai que la personne qui ouvre le fichier ai juste accès au tableau (aucune barre d'outils, aucun ccès a la barre de menu etc....) Comment faire?

    Merci encore

  7. #7
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut


    Puis-je te suggérer de cloturer ce post et de faire un nouveau pour ta question
    Mais j'a une dernière petite question:
    J'aimerai que la personne qui ouvre le fichier ai juste accès au tableau (aucune barre d'outils, aucun ccès a la barre de menu etc....) Comment faire?
    Cela rendra plus exploitable la fonction de recherche sur le forum après.

    Merci de cloturer ce post-ci par

  8. #8
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Juste une question avant de proposer une solution, faut-il que l'utilisateur puisse sauvegarder le classeur ? Si oui par quel moyen comptes-tu le faire si plus aucune barre d'outils ? On ferme le classeur comment, par la petite croix ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA] fonction vba à l'ouverture d'un fichier access
    Par fabiolous dans le forum VBA Access
    Réponses: 3
    Dernier message: 18/05/2007, 16h27
  2. [VBA-E] Equivalent VBA :fonction " = Cellule"
    Par Xaphyr dans le forum Excel
    Réponses: 4
    Dernier message: 01/04/2007, 12h57
  3. [VBA]Fonction 'ajout' en vba sur une table
    Par rico63 dans le forum VBA Access
    Réponses: 15
    Dernier message: 28/03/2007, 16h56
  4. [VBA] Fonction non définie dans l'expression
    Par DREADY dans le forum VBA Access
    Réponses: 17
    Dernier message: 08/03/2007, 16h49
  5. [Excel VBA]fonction dans une cellule qui modifie une autre cellule
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 24/01/2007, 17h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo