Numéro de commande qui s'incrémente [Résolu]

Signaler
Messages postés
360
Date d'inscription
dimanche 3 décembre 2006
Statut
Membre
Dernière intervention
3 janvier 2012
-
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
-
Bonjour à tous,

Dans mon projet, qui en passent et relié à un fichier excel, doit aller chercher la dernière valeur dans la colonne B puis s'incrémenté de 1 pour entrer les nouveaux achats.

Pour ce qui est d'entrer les achats, tout va bien. Mon problème et que je voudrait que dans mon text1, il m'affiche la dernière valeur de la colonne B + 1.

Comment faire.

Et aussi, croyez-vous que c'est possible de creer un projet vb6 multi-utilisateur avec base de donnée excel?
Je sais que excel oui mais je ne sais pas pour VB6.

Merci de votre aide !

6 réponses

Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Essaie plutôt comme ceci
Text1 = Range("A1")

Si jamais ça ne fonctionne pas, spécifie ton objet Sheet si tu en as un
Text1 = xlSheet.Range("A1")

MPi
Messages postés
360
Date d'inscription
dimanche 3 décembre 2006
Statut
Membre
Dernière intervention
3 janvier 2012
3
J'oubliais, le numéro dans la colonne B comporte 5 chiffres exemple 00001.
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Bonjour,

Plutôt que de faire "ramer" systématiquement ton appli à la recherche de la cellule (dernière ligne de la colonne B) pour repérer le dernier n° utilisé, tu devrais penser à l'utilisation d'une cellule unique et toujours la même, écrite en blanc sur blanc tout en haut de ta feuille Excel. Ce procédé te permettrait en plus de te mettre à l'abri des aleas pouvant résulter de l'annulation d'une ligne à un moment quelconque et pour une raison quelconque.

Pour le reste, tu as la fonction Format qui te permet de compléter un chiffre par le nombre de 0 nécessaires à sa gauche.
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Salut JMF,
Pour quelqu'un qui n'a pas Excel, tu te débrouilles pas mal...

Avyrex, si cette solution ne fait pas l'affaire pour une raison ou pour une autre, reviens à la charge et on trouvera bien une autre solution. Personnellement, c'est cette méthode de cellule fixe que j'utilise dans un de mes programmes. Dans ton cas, tu pourrais avoir un simple chiffre dans cette cellule fixe, du genre 12. Lorsque tu génères ta commande, tu n'as qu'à transformer ce chiffre dans le format que tu veux, soit par programmation avec
Format(MaCellule.Text, "00000") ou MaCellule.NumberFormat = "00000", soit par le menu Format de cellules directement.

MPi
Messages postés
360
Date d'inscription
dimanche 3 décembre 2006
Statut
Membre
Dernière intervention
3 janvier 2012
3
Merci de m'aider.

Dans VBA, je peux utiliser TextBox1 = Range("A1")

Mais dans VB6 si je fais Text1 = ("A1"), il me met dans mon Text1 la valeur A1.
Si je fais Text1 = Range (A1), j'ai une erreur sur Range.
Si je fais Text1 = A1, la boite text1 est vide.

Je présume qu'une fois que sa va fonctionner, je n'ai qu'a ajouter A1+1 pour crémenter ?
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Sans rien connaître (toujours) à VBA (salut MPI )
Il me semble que si tu pilotes Excel depuis VB6, il va te falloir te référer à une cellule d'une feuille d'un classeur et pas directement, comme tu le fais, en écrivant :Text1 = ("A1").
Pour "piloter", tu as quand-même (non ?) défini certains objets (application, classeur, feuille).
Tu devrais t'en servir... ce serait bien sage...