Formule en VBA qui s'ajoute à chaque ligne

Bonjour à vous,

Débutant en VBA, je ne possède pas encore toute les compétences pour être autonome sur le sujet (mais je progresse).

J'ai crée un tableau de suivi de commande en préparation que l'on remplie à l'aide de code barre (pour éviter une erreur clavier).

Pour éviter de créer des codes barre allant de 1 à 99, j'ai trouvé une astuce concaténer mes dizaines (colonne D) et unité (colonne E) via une formule (colonne F).

Formule : =SIERREUR(CNUM(CONCATENER(D2;E2));"")

Pour éviter d'étendre ma formule jusqu'au bout, je voudrais mettre cette formule dans ma macro.

Exemple : Si D est non vide et E non vide alors j'applique la formule.

Je cherche depuis quelques jour et je ne trouve pas la solution.

J'ai essayé de dupliquer ma macro pour la date en automatique (en remplaçant les données et rajoutant la formule)

J'ai essayé une autre macro (dans le module 1) mais cela ne rends pas le système automatique et je suis obligé de lancer ma macro à chaque fois que je veux des données.

Pouvez vous m'aider sur le sujet ?

15test.xlsm (28.11 Ko)

Hello,

Ci-joint ton fichier test ...

Il suffit de saisir ta référence dans la Colonne A : N°Wave

En espèrant que cela t'aide ...

15test-fox31500.xlsm (27.50 Ko)

Merci James pour ta réponse .

Pourrais tu mettre des commentaires sur les lignes afin que je comprenne les actions ? Je ne suis pas sur de tout comprendre.

Par exemple,

Si quand j'écris dans la colonne B, j'ai la date qui s'ajoute en colonne H (automatiquement). Le code serait ?

Bonjour,

Content que cela corresponde à ton attente ...

Ton fichier avec chaque instruction commentée ...

J'en profite pour ajuster le code à la saisie des Unités en Colonne E ...

En espèrant que cela t'aidera ...

12test-fox31500.xlsm (28.08 Ko)

Merci, je comprends mieux la formule mais par contre cela pose problème. Je voudrais que : (j'ai ajouté une colonne dans le fichier)

(indépendamment)

  • J'écris quelque chose en colonne A, J'ai la date qui s'affiche en colonne H
  • J''écris quelque chose en colonne F, j'ai la formule en colonne G
  • Pour exemple je veux reproduire cette formule ailleurs, j'écris quelque chose en colonne B, j'ai la date en colonne I
...

J'ai essayé de séparer le code en deux et en recréer un autre , renommer les variables mais j'ai un message d'erreur.

Re,

En matière de macros évènementielles ( donc des macros qui sont totalement automatiques ...) ,

tu n'as le droit qu' à une seule macro par évèvenement ...

Donc il faut que tu expliques vraiment ce que tu veux faire .. cat tu ne peux pas ' en faire des copies ' ...

J'espère que cette explication est assez claire ...

Ok je comprends.

Alors sur mon fichier en pièce jointe :

(indépendamment)

  • J'écris quelque chose en colonne A, J'ai la date qui s'affiche en colonne H
  • j'écris quelque chose en colonne B, j'ai la date en colonne I
  • J''écris quelque chose en colonne F, j'ai la formule en colonne G // ou la formule s'applique directement

Le fichier se complètera tout les jours. Donc je pense qu'il faut un lien avec la derniere ligne non vide ?

Je suppose aussi qu'il faut utiliser une boucle ou ce n'est pas obligatoire ?

L'objectif pour moi c'est de comprendre la macro et pouvoir la réutiliser plusieurs fois.

Re,

Ci-joint ta Version 4 ... avec toutes les modifications demandées ...

Merci de tester ... afin de savoir si cela correspond bien à ton attente ...

Merci James007, SUPER !

J'ai bien compris le fonctionnement de la formule.

J'ai encore quelques interrogations sur ma feuille mais qui ne concerne plus une formule en VBA à tirer. Faut-il que j'ouvre une nouvelle discussion ou je peux rester sur celle ci ?

En colonne B, j'ai deux choix possible : "YES" or "NO".

Si "YES", je voudrais ajouter +1 à la date du jour et bloquer les heures à (07:00:00) à la colonne I

Si "NO", je voudrais ajouter la date et heure du jour à la colonne I

Je bloque malgré des recherches sur internet

Bonjour,

A mon humble avis ... il s'agit toujours du même sujet ...

Et ... surtout il me semble plus logique de faire en sorte que ce soit la même macro qui règle également cette question ... non ?

Q'en penses-tu ...?

Oui effectivement.

J'ai réussi a changer de jour en faisant now + 1 mais il me fait +24h et je ne trouve pas la solution pour mettre l'heure a "07:00:00"

Bonjour,

SI j'ai bien compris ...

Tu peux tester la Version 5 ci-jointe ...

En espèrant que cela t'aide

Au top. Merci Beaucoup.

Je comprends que date renvoi juste la date et rajouter + 1.29166666666667 corresponds à rajouter 1 (un jour) et 0.29166666666667 (corresponds à 7h si on multiplie ce nombre par 24)

Je ne ferme pas le sujet pour le moment car je n'ai pas finis le travail sur ce fichier et je pense que j'aurai besoin d'aide encore.

Bonjour à tous,

Pour le fun !...

A découvrir.

Cdlt.

Bonjour Jean-Eric,

Une version très intéressante qui aiguise ma curiosité. J'aimerai bien comprendre et reprendre pas mal d'élément de ton travail qui me permettrai de finaliser mon travail. Mon objectif est de comprendre pour pouvoir reproduire.

Pourrais tu ajouter des commentaires sur ta macro afin que je puisse comprendre le fonctionnement ?

Le seul défaut qui ne me convient pas est que quand on arrive en colonne G et que l'on fait "TABULATION", il ne commence pas une nouvelle ligne mais il revient au début de la même ligne. Cela oblige à cliquer sur la cellule de la ligne suivante **

**Contexte : Ce tableau sera rempli de manière "automatique" avec un remplissage vie une douchette (scan de code barre). Après chaque scan, j'ai une tabulation qui passe à la case suivante

Je me lance un défi

En pièce jointe, ma version final du tableau que je souhaite avoir :

Si tu me donnes des explications sur le code VBA , je m'engage à essayer de le reproduire.

C'est un beau défi pour moi.

Au top. Merci Beaucoup.

Je comprends que date renvoi juste la date et rajouter + 1.29166666666667 corresponds à rajouter 1 (un jour) et 0.29166666666667 (corresponds à 7h si on multiplie ce nombre par 24)

Je ne ferme pas le sujet pour le moment car je n'ai pas finis le travail sur ce fichier et je pense que j'aurai besoin d'aide encore.

Content que cela fonctionne ...

Re,

*Contexte : Ce tableau sera rempli de manière "automatique" avec un remplissage vie une douchette (scan de code barre). Après chaque scan, j'ai une tabulation qui passe à la case suivante

Peux-tu en dire un peu plus sur ton process ?

Sinon, je commente la procédure.

@+

L'objectif est :

  • D'obtenir de l'information via excel en perdant le moins de temps possible => scanner via des codes barres les informations ( l'ensemble de mes colonnes : N° Wave, wor for tomorrow, ligne, nom, nombre de ligne)
  • Ne pas utiliser la souris sur ce tableau pendant que l'on rempli / Ne pas utiliser le clavier pendant que l'on rempli le tableau => A chaque fois que l'on scan , le scanner fait automatiquement "TAB"
  • Limiter le classeur Excel au remplissage de données et la consultation / impression du l'onglet KPI => eviter de modifier des formules ou écrire ailleurs.
  • Pouvoir supprimer des lignes en cas d'erreur (clic droit, supprimer ligne)
  • Pouvoir nettoyer les base de donnée => archiver l'information dans un fichier excel secondaire pour éviter que la base de donnée devienne trop grosse

Je ne sais pas si je reponds à ta question

Re,

Pour la poursuite de ton process ...

Je te laisse volontiers dans les mains, on ne peut plus expertes, de Jean-Eric ...

Merci pour votre aide James 007

Rechercher des sujets similaires à "formule vba qui ajoute chaque ligne"