Pause pour insérer des données manuelle dans une boucle [Résolu]

Tradman

XLDnaute Nouveau
Bonjour à tous,

je dois faire un programme pour calculer les kilométrages entre les pannes de plusieurs voitures. Pour ce faire j'importe plusieurs donnée automatiquement depuis d'autre fichier excel et tout va assez bien. Par contre, lorsque je dois entrer des données manuellement, l'importation continue jusqu'à la fin. J'aimerai avoir une pause le temps d'entrer et faire les étapes de validation de mes données manuel.

Voici un résumé de mon code :

Sub Importation

Do while "reste des voitures dans la liste"
if "importation manuel" then
ufmKmManuel
else
importation automatique
end if
loop

J'aimerais que lorsque j'appelle mon userform "ufmKmManuel" mon sub importation tombe en pause le temps que dans mon userform je place les données et que je fasse la validation de ceux-ci. Une fois mes données validé, le programme devra reprendre pour poursuivre l'importation automatique.

Merci beaucoup

Tradman
 
Dernière édition:

camarchepas

XLDnaute Barbatruc
Re : Pause pour insérer des données manuelle dans une boucle

Bonjour Fhorest, Tradmann,

Je pense qu'un booléen publique ( a déclarer dans un module) utilisé en drapeau et en condition de sortie de boucle pourrait faire l'affaire.

Code:
'A déclarer en haut d'un module standard
public Donnéesok as boolean

et dans le formulaire sur l'appui du bouton de validation

DonnéesOk = true

do

 appel formulaire
 
  et comme conseillé par Fhorest 

 doevents

loop until DonnéesOk
 

Tradman

XLDnaute Nouveau
Re : Pause pour insérer des données manuelle dans une boucle

Bonjour Camarchepas et Fhoest,

Je n'ai pas encore eu le temps de testé vos solutions, mais je tiens tout de même à vous remercier d'avoir pris le temps de me répondre. Je vais tenter de faire les tests cette semaine, sinon je vous en donne des nouvelles au début de 2013.

Merci encore et Joyeuses fêtes !
 

Tradman

XLDnaute Nouveau
Re : Pause pour insérer des données manuelle dans une boucle

Bonjour Camarchepas et Fhorest (Et tous les autres si vous avez d'autre idée)

J'ai testé vos solutions ils ne font que 50% de de que je veux.
Voici bout de code :

booDonneesOK = True
Do While booDonneesOK
ufmKmASTSMan.Show (False)
DoEvents
Loop

Comme je voulais, quand j'entre dans cette boucle, le userform ufmkmASTS s'affiche et le sub prend un pause.
Par contre, je ne peux pas entrer mes données manuelle en nul part !!!!
En fait, mon classeur excel est gelé !!!!

Ce que je voudrais c'est pourvoir accéder au userform pour entrer mes données et par la suite une fois que je clique sur valider dans mon userform, je placerais la valeur du boolean booDonneesOk à false, sortirait de la boucle et continuerais mon chemin dans mon programme. Présentement j'arrive seulement à tout geler.

Avez-vous d'autre idée ou c'est simplement que mon code est mal fichu ???

Merci à tous
 

camarchepas

XLDnaute Barbatruc
Re : Pause pour insérer des données manuelle dans une boucle

Bonjour,

J'ai écris une petite coquille dans mon exemple,

il faut lancer le userform puis entrer dans la boucle, et là cela devrait aller mieux

Code:
Public booDonneesOK As Boolean

Sub test()
ufmKmASTSMan.Show (False)
Do While Not booDonneesOK
 DoEvents
Loop

End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 213
Messages
2 086 305
Membres
103 174
dernier inscrit
OBUTT