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 :

Excel Macro VBA [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de Kiouane
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2016
    Messages : 198
    Par défaut Excel Macro VBA
    Bonjour,

    J'ai en fait réalisée une macro qui fonctionnait très après plusieurs essais avec des valeurs puis aujourd'hui quand j'ai rouvert le fichier la macro faisait des calculs autres que ceux initiales et affichait des fois les valeurs que j'avais trouvé lors de mes essais.

    Est-ce un événement qui arrive et quelle est la démarche à adopter dans ce cas là ?

    Je vous mets la macro quand même.

    Je tiens à préciser que j'ai écris la macro directement sur le code d'un bouton dans une feuille.

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    Private Sub CommandButton1_Click()
     
    Dim f As Long, r As Long, C As Long, J As Long
     
    f = ActiveCell.Row
    r = Cells(f, 3).Value
     
    C = 0
    J = 0
     
    For i = f To 2 Step -1
     
         If C + Cells(i, 4).Value <= r Then
         C = C + Cells(i, 4): Cells(f, 14) = C
         J = J + 1
         End If
     
    Next i
     
    X = f - J
    If IsNumeric(Cells(X, 4)) Then
    Cells(f, 15).Value = Cells(f, 14).Value + Cells(X, 4).Value
    Else
    MsgBox "Données historiques insuffisantes"
    Cells(f, 15) = Cells(f, 14) * (J + 1) / J
    Cells(f, 11).Interior.Color = RGB(255, 165, 0)
    End If
     
    Cells(f, 14).EntireColumn.Hidden = True
    Cells(f, 15).EntireColumn.Hidden = True
    Cells(f, 16) = Cells(f, 3) / (Cells(f, 15) / (J + 1))
    Cells(f, 16).EntireColumn.Hidden = True
     
    Cells(f, 11) = Cells(f, 16)
     
    End Sub
    Merci de votre aide,

  2. #2
    Membre très actif
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Par défaut
    Bonjour,

    Je ne sais pas si cela va t'aider ou si tu en étais conscient mais cette partie du code est "dangereuse" :

    f = ActiveCell.Row
    r = Cells(f, 3).Value
    Ici tu récupères les informations de la cellule en colonne C ligne f, où f est la ligne de la cellule active.
    Ce qui veut dire que si tu cliques sur une cellule dans une ligne différente de celle que tu veux, tes valeurs changeront et ne correspondront pas.
    Une tabulation, un retour chariot, un déplacement avec les flèches auront le même effet indésirable

    Exemple :
    Si tu cliques sur la cellule A1, alors r= valeur de C1
    Si tu cliques en F1, alors r= valeur de C1
    mais si tu cliques en A25, alors r= valeur de C25

  3. #3
    Membre chevronné Avatar de Kiouane
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2016
    Messages : 198
    Par défaut
    Oui je suis conscient, c'est fait pour que quand je clique sur la cellule de la semaine ( pour mois j'ai une colonne où j'ai les numéros des semaines), je reçois le résultat escompté pour cette semaine là car la valeur r relative à cette semaine se trouve sur la même ligne.

    Merci pour tes remarques en tout cas,

    Si tu peux, j'ai crée une nouvelle discussion où j'explique mieux ce dont j'ai besoin.

    Merci encore,

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

Discussions similaires

  1. [XL-2003] Problème de conversion formule excel -> Macro VBA
    Par bedrohung dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 14/04/2010, 18h53
  2. Excel macros vba
    Par Zagat dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 09/10/2007, 11h02
  3. Probleme d'enregistrement sur Macro/VBA de Excel
    Par life is magic dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 28/11/2005, 17h23
  4. Graphe et Macro et Excel et VBA
    Par life is magic dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 18/11/2005, 17h24
  5. probleme de selection aleatoire sur excel avec macro vba
    Par guillaume sors dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/10/2005, 10h51

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