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 les lignes d'une colonne en VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Femme Profil pro
    Coordinateur d'essais
    Inscrit en
    Juin 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Coordinateur d'essais
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2017
    Messages : 12
    Par défaut Incrémenter les lignes d'une colonne en VBA
    Bonjour,

    En remplissant une fenêtre Userform, je complète une ou plusieurs lignes automatiquement dans une feuille excel 2010.
    Dans la colonne A, je souhaite numéroter les lignes en commençant à la ligne 4.

    J'ai beau cherché, je bloque.

    La ligne 3 est masquée et vide. Elle peut donc être utilisé si besoin.

    Merci de votre aide.

  2. #2
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

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

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Par défaut
    Bonjour et bienvenue au forum !
    J'ai beau chercher, je bloque.
    Où est-ce que tu bloques ? Qu'as-tu fait pour l'instant ? Est-ce que tu as un code avec une message d'erreur ? Si oui, lequel ?
    Si non, qu'est-ce que tu ne sais pas faire ?
    je souhaite numéroter les lignes en commençant à la ligne 4.
    Et quand est-ce que tu dois t'arrêter ?

  3. #3
    Membre habitué
    Femme Profil pro
    Coordinateur d'essais
    Inscrit en
    Juin 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Coordinateur d'essais
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2017
    Messages : 12
    Par défaut
    Bonsoir,

    J'ai réussi à faire une incrémentation par validation de mon userform.
    A chaque validation, la nouvelle ligne permet la valeur de la dernière ligne de la colonne +1. Le problème est que lorsque le userform crée 2 lignes, mes 2 nouvelles lignes ont le même numéro.

    Je n'ai donc pas de message d'erreur mais pas le résultat voulu non plus.

    Il n'y a pas de limite à mon tableau car cela dépend du nombre de défaut rencontré. Si j'ai 100 défauts, mon tableau ne doit avoir que 100 lignes pour pouvoir faire des tris par destinataires.

    L’idée que j'avais était de mettre la valeur 0 dans la cellule A3 qui est libre. Puis dans ma macro, si la cellule B (à partir de B4) est non vide faire:
    valeur de la cellule Ax= (valeur de la cellule Ax-1)+1.

    En esperant etre comprehensible.
    Merci

  4. #4
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    si on réfléchit d'abord côté excel, on peut penser à la fonction LIGNE() qui renvoie (quand on ne lui fournis aucun argument) la ligne courante
    ainsi, l'incrémentation automatique serait la formule =LIGNE()-3 puisqu'on commence à la ligne 4

    en utilisant un tableau structuré (Objet Listobject côté VBA ou dans le menu Insertion>>Tableau sur l'interface Excel), on pourrait donc conditionner automatiquement chaque ligne sous cette formule via une colonne calculée, sans parler de la facilité derrière de transférer les valeurs saisies dans le userform ... et les traitements/analyses postérieurs qu'on pourrait avoir envie de faire avec ces données.


    Sinon, bah on fait à l'ancienne, on utilise la propriété .Row - 3 de la cellule où on écrit, genre (à adapter)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    With Cells(Rows.Count,1).End(xlup)(2) ' ou Cells(4, 1).End(xlDown)(2) en partant d'en haut
        .Value = .Row - 3
    End With

  5. #5
    Membre habitué
    Femme Profil pro
    Coordinateur d'essais
    Inscrit en
    Juin 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Coordinateur d'essais
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2017
    Messages : 12
    Par défaut
    Bonjour,

    J'ai utilisé la solution excel.
    J'ai selectionné toute la colonne puis déselectionné les premiers lignes et tapé =ligne()-3.
    Cette formule est recopié automatiquement dans les nouvelles lignes qui sont créées par la macro.

    Merci pour l'aide!!

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

Discussions similaires

  1. [XL-2003] Modifier le le format Date sur toute les lignes d'une colonne
    Par Djohn dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/08/2010, 14h00
  2. [XL-2003] Appliquer une formule à toutes les lignes d'une colonne sans en connaitre le nombre à l'avance
    Par Chevrefeuille dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 08/04/2010, 14h43
  3. afficher toutes les lignes d'une colonne d'une BDD + infos relatives à 1 ligne
    Par ju0123456789 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 02/02/2009, 19h20
  4. Mettre à jour les lignes d'une colonne dans dataTable
    Par Mikelester12 dans le forum VB.NET
    Réponses: 2
    Dernier message: 19/07/2007, 08h31
  5. Concaténer toutes les lignes d'une colonne
    Par metalcoyote dans le forum Oracle
    Réponses: 6
    Dernier message: 10/05/2006, 15h51

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