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 :

Problème Rows.Count Tableau [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club Avatar de Mr.Anime
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2018
    Messages : 28
    Points : 68
    Points
    68
    Par défaut Problème Rows.Count Tableau
    Bonjour à tous,

    Je suis actuellement sur une Macro pour trier un tableau de comptabilité et je pioche devant un problème que je ne comprends pas...

    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
    Sub Test()
     
           formula1
     
    End Sub
     
    Private Sub formula1()
    Dim DLig As Long
    ' Récupérer la dernière ligne du tableau
    DLig = Range("B" & Rows.Count).End(xlUp).Row
    ' Faire soustraction dela colonne C et D jusqu'à la fin du tableau.
    Range("M13:M13" & DLig).Formula = "=C13-D13"
    End Sub
    La dedans, [DLig] contient bien mes 138 lignes mais une fois exécuté, je me retrouve avec 13098 ligne.
    Alors que je n'ai aucune entrée plus bas.
    Quand je fais pas-à-pas l'exécution de la Macro, j'ai bien "138" lignes dans DLig.
    À n'y rien comprendre.

    Merci pour votre aide.

    Mr.Anime
    C'est en forgeant que l'on devient forgeron.

  2. #2
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 914
    Points : 5 121
    Points
    5 121
    Par défaut
    bonjour
    aussi autodidacte donc méfiez de mez propositions : pour soustraire C de D et le résultat en M :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub test()
    Dim DLig As Long
    Dim J As Integer
    ' Récupérer la dernière ligne du tableau
    DLig = Range("B" & Rows.Count).End(xlUp).Row
    For J = 2 To DLig
    ' Faire soustraction dela colonne C et D jusqu'à la fin du tableau.
    Range("M" & J) = Range("C" & J) - Range("D" & J)
    Next J
     
    End Sub
    --------------------------------------------------------------*****----------------------------------------------------------------------------
    Bonne Continuation & Plein Succès
    Notre seul pouvoir véritable consiste à aider autrui avec modestie
    ______________________________________________________
    Pour dire merci, cliquer sur et quand la discussion est résolue, penser à cliquer sur le bouton

  3. #3
    Membre du Club Avatar de Mr.Anime
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2018
    Messages : 28
    Points : 68
    Points
    68
    Par défaut
    Merci pour ta proposition mais malheureusement cela ne résout pas mon problème, il survient toujours.
    En résumé mon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DLig = Range("B" & Rows.Count).End(xlUp).Row
    Compte bien 193 lignes mais après la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("M13:M13" & DLig).Formula = "=C13-D13"
    le calcule du .Formula s'arrête a la ligne 13198.

    De ce fait je penses que l'erreur vient de la ligne avec le .Formula mais comment régler ce cas ? Je n'ai pas encore trouvé.
    C'est en forgeant que l'on devient forgeron.

  4. #4
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 914
    Points : 5 121
    Points
    5 121
    Par défaut
    remplce ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("M13:M13" & DLig).Formula = "=C13-D13"
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("M13:M" & DLig).Formula = "=C13-D13"
    --------------------------------------------------------------*****----------------------------------------------------------------------------
    Bonne Continuation & Plein Succès
    Notre seul pouvoir véritable consiste à aider autrui avec modestie
    ______________________________________________________
    Pour dire merci, cliquer sur et quand la discussion est résolue, penser à cliquer sur le bouton

  5. #5
    Membre du Club Avatar de Mr.Anime
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2018
    Messages : 28
    Points : 68
    Points
    68
    Par défaut
    YES !

    Merci pour ton aide
    J'ai trouvé la solution et en revenant sur le forum j'ai vu ta réponse qui est exactement la même ^^

    Merci bien Bennasr.

    Bonne journée à vous tous
    C'est en forgeant que l'on devient forgeron.

  6. #6
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Mr.Anime Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("M13:M13" & DLig).Formula = "=C13-D13"
    La dedans, [DLig] contient bien mes 138 lignes mais une fois exécuté, je me retrouve avec 13098 ligne.
    A mon avis, tu te retrouves même avec 13138 lignes.

    Parce que, si DLig = 138, alors [C]M13 & DLig[/CODE] est égal à M13138.

    Il y a un "13" de trop qui traine, sans doute à cause d'un copier/coller mal nettoyé.

    Remplace cette ligne par la ligne suivante et ça devrait s'arranger :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("M13:M" & DLig).Formula = "=C13-D13"
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

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

Discussions similaires

  1. [XL-2003] Problème avec tableaux Variant et X.rows.count sous VBA
    Par Anthony75 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 30/12/2009, 17h45
  2. problème avec un tableau dans un insert ...
    Par vbcasimir dans le forum Langage
    Réponses: 3
    Dernier message: 02/11/2005, 14h31
  3. [PERL] problème tri de tableau
    Par LE NEINDRE dans le forum Langage
    Réponses: 2
    Dernier message: 31/08/2005, 15h42
  4. [HTML/CSS] problème bordure de tableau
    Par LE NEINDRE dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 18/08/2005, 11h42
  5. Access/SQL : Problème avec Count
    Par Taurëndil dans le forum Langage SQL
    Réponses: 2
    Dernier message: 13/01/2005, 15h49

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