Numéro de commande qui s'incrémente

Résolu
avyrex1926 Messages postés 360 Date d'inscription dimanche 3 décembre 2006 Statut Membre Dernière intervention 3 janvier 2012 - 12 mai 2007 à 03:25
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 12 mai 2007 à 16:28
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

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
12 mai 2007 à 16:28
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
3
avyrex1926 Messages postés 360 Date d'inscription dimanche 3 décembre 2006 Statut Membre Dernière intervention 3 janvier 2012 3
12 mai 2007 à 03:39
J'oubliais, le numéro dans la colonne B comporte 5 chiffres exemple 00001.
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
12 mai 2007 à 08:29
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.
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
12 mai 2007 à 11:10
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
avyrex1926 Messages postés 360 Date d'inscription dimanche 3 décembre 2006 Statut Membre Dernière intervention 3 janvier 2012 3
12 mai 2007 à 14:27
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 ?
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
12 mai 2007 à 14:38
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...
0
Rejoignez-nous