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 :

Incrémenter une cellule à partir de son ancienne valeur + une autre cellule


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 66
    Points : 14
    Points
    14
    Par défaut Incrémenter une cellule à partir de son ancienne valeur + une autre cellule
    Bonjour à tous,

    Voila dans le cadre d'un projet j'ai créé le code ci-dessous. Cela fonctionne a une exception près pour le moment. Dans le cas où je rentre dans la boucle if Cells(j,i)=Cells(k,30) pour la première rentrée, si je tente de faire 1+1, le résultat devient 11 au lieu de 2 comme vous le savez. En revanche, si je fais 1+1+1, cela me fait 12. Donc la deuxième itération, il me calcule bien 11+1. Le problème semble se situer à la première itération.
    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
    Sub MacroAnalysedata()
        ActiveSheet.Range("$A$6:$Z$406").AutoFilter Field:=2
        Dim DernLigne As Long
        Dim l As Long
        For i = 3 To 26
        l = 0
            For j = 9 To 406 Step 5
                If Cells(j, i) = "" Then
                    Exit For
               Else
                    For k = 8 To 87
                        If Cells(j, i) = Cells(k, 30) Then
                            Cells(k, i + 29).Formula = Cells(k, (i + 29)).Value + Cells((j + 2), i).Value
                            l = 1
                            Exit For
                        End If
                    Next k
                        If l = 0 Then
                            DernLigne = Range("AD" & Rows.Count).End(xlUp).Row + 1
                            Cells(DernLigne, 30) = Cells(j, i)
                            Cells(DernLigne, 29) = Cells(j - 1, i)
                            Cells(DernLigne, 31) = Cells(j + 1, i)
                            Cells(DernLigne, (i + 29)) = Cells((j + 2), i)
                        End If
                End If
            Next j
        Next i
    End Sub
    Pourriez-vous m'aider à comprendre où se situe le problème?

    Merci!

    Ludo

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 66
    Points : 14
    Points
    14
    Par défaut
    De plus, si je fais le même calcul dans ma deuxième colonne, j'obtiens le bon résultat de 3. Pourriez-vous m'aider à comprendre pourquoi j'obtiens cette erreur?

  3. #3
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 194
    Points : 5 532
    Points
    5 532
    Par défaut
    Bonjour,

    A tester: supprimer à la ligne 13 les .Formula et .Value
    .Fomula est destiné à inscrire une "formule" et pas à additionner 2 valeurs.

    Cordialement.

Discussions similaires

  1. Incrémenter une serie de cellules à partir d'une valeur
    Par douerfelli dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/02/2018, 13h22
  2. [EVAL] utiliser la valeur d'une variable à partir de son nom
    Par Julien Dufour dans le forum VBA Access
    Réponses: 0
    Dernier message: 24/04/2008, 13h15
  3. activer une feuille à partir de son nom ou d'une valeur de cellule
    Par rom05 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/04/2008, 17h58
  4. Récuperer la valeur d'une variable à partir de son nom
    Par Etanne dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/10/2007, 18h04
  5. Réponses: 9
    Dernier message: 26/09/2007, 16h18

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