Copier cellule dans celle d’en dessous + ajouter une unité

Bonjour,

Malgré quelques essais, je n’arrives pas à trouver solution à mon problème.

Voici les informations pour la réalisation du code :

1. Le code demandé concerne seulement la colonne A.

2. Pour que le code s’exécute, deux conditions doivent être respectées, à savoir, la cellule sélectionnée doit être non vide et la cellule d’en dessous doit être vide.

Lorsque ces deux conditions sont respectées, si par exemple la cellule sélectionnée est la cellule A2 alors on va copier le contenu de la cellule A2 dans la cellule A3 (Cellule d’en dessous) en prenant soins d’ajouter une unité au chiffre se trouvant entre les deux signes tirets (-) et Slash (/).

Un exemple vaut mieux qu’un long discourt.

Supposant que la colonne sélectionnée est A2 et son contenu est "GTU25-001/2018 M", si j’exécute le code, le contenue de la cellule A3 devra être "GTU25-002/2018 M", alors cette même cellule A3 reçoit le focus.

Si j’exécute le code une 2e fois, le contenue de la cellule A4 devra être "GTU25-003/2018 M", alors la cellule A4 reçoit le focus et ainsi de suite.

Si maintenant la cellule sélectionnée est A6 et que son contenu est "HPM12-101/2018 F", si j’exécutes le code, le contenue de la cellule A7 doit être "HPM12-102/2018 F" et la cellule A7 reçoit le focus.

D’avance merci pour vos contributions.

Salut Harzer,

Pour ce que tu dois faire tu dois passer par:

Worksheet_SelectionChange celui-ci s'executera à chaque fois que tu changes de cellule

Dans ce code tu vas refaire des focus donc je pense qu'il est nécessaire que tu insères au début un Application.EnableEvents = False pour éviter de déclencher ça à chaque focus (mais je ne suis pas certain que ce soit indispensable...)

Ensuite pour tes sélections il faut que tu utilises la fonction Instr 2 fois. Celle-ci renvoie la position d'un caractère.

Donc Instr(position de départ, Texte, Caractère cherché)

Ensuite tu récupère les chiffres entre le tiret et le slash avec stxt (je ne connais pas le code vba...)

Enfin ce que tu récupères tu lui ajoute 1 (pense bien à le passer en Integer pour que ça marche)

Et hop !

Bonjour PinkRabbit,

Merci pour votre réponse et les explications qui l'accompagne.

Mais il y'a juste un petit problème, à savoir que je ne suis pas doué et que je ne suis pas un expert en vba.

Merci de votre aide.

Bonjour,

Un exemple dans le fichier joint.

A te relire.

Cdlt.

9harger.xlsm (16.94 Ko)

Bonjour Jean-Eric,

Merci pour votre code et votre réponse rapide,

Votre code comme vous me le proposer, fonctionne parfaitement et comme je le souhaite.

J’ai voulu lier votre code à un bouton, ainsi j’ajoute la cellule en question seulement quand je le souhaite réellement, mais malheureusement j’ai une erreur d’exécution 424, veuillez s-v-p consulter le fichier joint.

Salutations.

1harger1.xlsm (20.33 Ko)

Bonjour,

Avant de penser au bouton, j'ai ajouté une nouvelle procédure évènemetielle.

Elle s'exécute avec un double-clic sur la cellule à recopier.

Voir Feuil2

A te relire.

Cdlt.

10harger.xlsm (21.20 Ko)

Nota : J'ai de plus corrigé une petite erreur sur le procédure précédente.

Bonjour Jean-Eric,

Merci encore une fois de plus pour votre réponse.

Justement l'évènement BeforeDoubleClick n'était pas utilisé dans ma feuille et me permets d'ajouter une cellule lorsque je le désire. En résumé, le code répond totalement à ma demande et me satisfait amplement.

Grand MERCI à vous.

Cordialement.

Rechercher des sujets similaires à "copier celle dessous ajouter unite"