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 :

Une petite question pour des intervalles [Toutes versions]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Janvier 2016
    Messages : 7
    Points : 1
    Points
    1
    Par défaut Une petite question pour des intervalles
    Bonsoir le monde,

    J'ai besoin que l'on m'aide, je n'arrive pas à mettre mon code sous intervalle.
    De base je lui dis que si entre mes cellules la valeur du calcul est négative, il recalcul, ca marche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Option Explicit
    Private Sub Worksheet_Calculate()
    Dim c As Range
    For Each c In Me.Range("L5:L12")
        If c.Value2 < 0 Then
            Me.Calculate
        End If
    Next c
    End Sub
    Par contre je veux rajouter que si les valeurs tombent au dessus de 2 ca recalcul aussi, donc j'ai écris ca:



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Option Explicit
    Private Sub Worksheet_Calculate()
    Dim c As Range
    For Each c In Me.Range("L5:L12")
        If c.Value2 < 0 Then
        ElseIf c.Value2 > 2 Then
            Me.Calculate
        End If
    Next c
    End Sub
    Mais ca ne marche pas, une petite aide svp ....

    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Option Explicit
     Private Sub Worksheet_Calculate()
     Dim c As Range
    For Each c In Me.Range("L5:L12")
     If c.Value2 < 0  or c.Value2 > 2 Then  Me.Calculate
     Next c
     End Sub

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Janvier 2016
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Bonjour et merci de m'aider,

    J'ai utilisé ton code et ca marche pas, il me marque que j'ai une
    erreur d'exécution '28' : Espace pile insuffisant
    Si je clique sur débogage il me surligne la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each c In Me.Range("L5:L12")
    Merci

  4. #4
    Invité
    Invité(e)
    Par défaut
    bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Worksheet_Calculate()
     Dim c As Range
    For Each c In Range("L5:L12")
     If c.Value2 < 0 Or c.Value2 > 2 Then Calculate
     Next c
     End Sub

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Janvier 2016
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Encore merci et excuse moi de te redemander ^^
    Maintenant il me marque
    Erreur de compilation: Next sans For
    Je pensais qu'il manquai le "End If", si je le rajoute ca me plante carément excel

    merci

  6. #6
    Invité
    Invité(e)
    Par défaut
    quand le if then else est sur la même ligne pas de end if!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if a=b then
         z="toto"
    else
        z="titi"
    end if
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if a=b then z="toto" else z="titi"

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Janvier 2016
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Ok, par contre, il me sort toujours le problème de la pile avec la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each c In Range("L5:L12")
    Merci

  8. #8
    Membre éclairé
    Homme Profil pro
    autodidacte
    Inscrit en
    Novembre 2013
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 517
    Points : 684
    Points
    684
    Par défaut
    bonjour,

    avancer en mode pas à pas avec la touche F8 et voir à quelle valeur de c le code plante.

    bonne journée
    Merci de cliquer sur pour chaque message vous ayant aidé
    puis sur pour clore cette discussion …

    C'est en récoltant les cailloux qu'on te jette que tu construiras ta future estrade...

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Janvier 2016
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Je te remercie mais je suis pas assez calé pour m'apercevoir de l'erreur .....

  10. #10
    Membre éclairé
    Homme Profil pro
    autodidacte
    Inscrit en
    Novembre 2013
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 517
    Points : 684
    Points
    684
    Par défaut
    - Appuyer sur Alt+F11
    - Dans affichage, appuyer sur fenetre des variables locales
    - aller au début du code concerné et appuyer sur F8 a plusieurs reprise jusqu'à ce que le code plante et sorte le message d'erreur
    -regarder dans la fenetre variable locales la valeurs de c.
    Merci de cliquer sur pour chaque message vous ayant aidé
    puis sur pour clore cette discussion …

    C'est en récoltant les cailloux qu'on te jette que tu construiras ta future estrade...

  11. #11
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Janvier 2016
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Bon j'ai trouvé que ca marche si je lui dit de voir qu'une cellule .....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Worksheet_Calculate()
    Dim c As Range
    For Each c In Range("L5")
        If c.Value2 < 0 Or c.Value2 > 2 Then Calculate
    Next c
    End Sub
    Si je laisse : Range ("L5:L12"), ca marche pas

  12. #12
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Janvier 2016
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Je pense avoir trouvé mon problème, c'est que après la 3° cellule avec mes calculs c'est tellement compliqué de garder ses conditions (voir impossible vu que mes opérations se renvoi de cellules en cellule) que ca plante tout. Merci à vous pour les réponses, je vais pofiner mon tableur.

    MERCI

  13. #13
    Membre éclairé
    Homme Profil pro
    autodidacte
    Inscrit en
    Novembre 2013
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 517
    Points : 684
    Points
    684
    Par défaut
    Ca marche très bien sauf qu'il doit y avoir une données en L6,L7,L8,L9,L10,L11 ou L12 qu' Excel n'aime pas. Le but est justement de trouver laquelle et pourquoi

    d'où le fonctionnement en mode pas à pas via la touche F8....
    Merci de cliquer sur pour chaque message vous ayant aidé
    puis sur pour clore cette discussion …

    C'est en récoltant les cailloux qu'on te jette que tu construiras ta future estrade...

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

Discussions similaires

  1. Une petite question sur des tableaux
    Par l.laurent60 dans le forum Langage
    Réponses: 9
    Dernier message: 31/05/2012, 16h39
  2. j'ai une petite question pour l'opérateur >>=
    Par PIC16F877A dans le forum Débuter
    Réponses: 2
    Dernier message: 08/03/2010, 06h50
  3. une petite question sur des arguments du unix shell
    Par kinkichin dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 22/09/2009, 12h25
  4. quelque petite question pour des windows messages
    Par julspower dans le forum C++
    Réponses: 3
    Dernier message: 02/12/2008, 17h54
  5. une petite question pour creer un site
    Par lyam_3 dans le forum Débuter
    Réponses: 88
    Dernier message: 27/03/2008, 10h22

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