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 :

Code VBA incrémentation cellule [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Responsable Industrialisation et management des projets
    Inscrit en
    Juillet 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable Industrialisation et management des projets

    Informations forums :
    Inscription : Juillet 2014
    Messages : 12
    Par défaut Code VBA incrémentation cellule
    Bonjour à vous,

    J'ai un petit soucis avec une nouvelle fonctionnalité que je veux bien la rajouter dans mon code VBA.
    En fait, j'ai un menu à partir de lequel j'incrémente une nouvelle ligne dans ma feuille Excel (toujours la même ligne N°29). Les cellules de cette ligne prendront les données saisis dans mon menu.
    Sauf que la cellule A29 contient un numéro (Exemple: 2018-189R). Ce dernier, je suis entrain de l'incrémenter manuellement, c'est à dire je viens chaque fois vérifie le dernier numéro généré et je saisie le n+1 dans mon menu pour qu'il le prend par la suite dans ma nouvelle ligne (A29).
    Le numéro de la cellule A29 s'incrémente de cette manière :
    2018-191R
    2018-190R
    2018-189R

    Mon objectif est de supprimer le champs de texte (Numéro QA) de mon menu et qu'il s'incrémente automatiquement dès que je valide le saisie de mon menu pour ajouter une nouvelle QA.

    Merci d'avance de votre aide

  2. #2
    Membre Expert Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Par défaut
    Bonjour Chawkii, bonjour le forum,

    Peut-être comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Macro1()
    Dim AN As String 'déclare la variable AN (Ancien Numéro)
    Dim P As String 'déclare la variable P (Partie)
    Dim N As Integer 'déclare la variable N (Numéro)
    Dim NN As String 'déclare la variable NN (Nouveau Numéro)
     
    AN = Range("A29").Value 'récupère l'ancien numéro
    P = Mid(AN, 6) 'extrait les derniers caractères après l'espace
    P = Mid(P, 1, Len(P) - 1) 'supprime la dernière lettre "R"
    N = CInt(P) + 1 'incrémente le numéro N
    NN = CStr(Year(Date)) & "- " & N & "R" 'définit le nouveau numéro NN (anné en cours + "- " + numéro incrémenté + "R"
    Range("A29").Value = NN 'renvoie le nouveau numéro dans A29
    End Sub

  3. #3
    Membre averti
    Homme Profil pro
    Responsable Industrialisation et management des projets
    Inscrit en
    Juillet 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable Industrialisation et management des projets

    Informations forums :
    Inscription : Juillet 2014
    Messages : 12
    Par défaut
    Bonjour Thautheme,

    Tout d'abord merci pour votre réponse.
    En fait, j'ai testé le code et la il m'affiche le message : Erreur d’exécution 5 : Argument ou appel de procédure incorrect
    L'erreur est au niveau de cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    P = Mid(P, 1, Len(P) - 1) 'supprime la dernière lettre "R"
    J'ai même essayé de modifier le code de cette façon est ça marche pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    AN = Range("A29").Value 'récupère l'ancien numéro
    P = Mid(AN, 6, 3) 'extrait les derniers caractères après l'espace
    'P = Mid(P, 1, Len(P) - 1) 'supprime la dernière lettre "R"
    N = CInt(P) + 1 'incrémente le numéro N

  4. #4
    Membre Expert Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Par défaut
    Re,

    Je l'avais testé avant de te l'envoyer et je n'avais aucune erreur... Que vaut P quand le message s'affiche ?

  5. #5
    Membre averti
    Homme Profil pro
    Responsable Industrialisation et management des projets
    Inscrit en
    Juillet 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable Industrialisation et management des projets

    Informations forums :
    Inscription : Juillet 2014
    Messages : 12
    Par défaut
    C'est bon

    En fait, vu que dans mon code j'ai déjà insérer une ligne (29). La récupération se fait au niveau de la cellule A30 et non pas A29 et c'est pour ça qu'il m'affiche l'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AN = Range("A30").Value 'récupère l'ancien numéro
    Merci beaucoup pour ton aide et je te souhaite une excellente journée

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

Discussions similaires

  1. [AC-2016] Code VBA incrémentation + 1
    Par py86acces dans le forum VBA Access
    Réponses: 4
    Dernier message: 17/02/2018, 13h56
  2. Problème code vba modification cellules
    Par adrien1987 dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 09/08/2017, 21h29
  3. Code VBA pour effacement de contenu de cellules
    Par MAMANHOU dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 18/03/2008, 15h51
  4. [VBA-E] Correction code opérations sur cellules
    Par anisr dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/03/2007, 21h52
  5. [VBA-E] code pour incrémentation
    Par tarmin dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 23/02/2007, 15h58

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