mesage traitement en cours + MàJ auto des cellules - VB/VBA/VBS - Programmation
Marsh Posté le 15-06-2009 à 11:59:40
Hi,
Je crois pas que tu puisses étendre une ligne sur plusieurs colonnes, étendre des cellules en ligne sur une ligne ok, des cellules en colonne sur une colonne ok aussi, mais pas des cellules en ligne sur une/plusieurs colonnes. En tout cas si tu regardes dans l'aide, tu as ça :
Citation : Destination Required Range The cells to be filled. The destination must include the source range. |
C'est pour ça que tu as un message d'erreur, ta plage de destination ne contient pas ta plage source.
Pour le message de traitement, pourquoi pas un userform avec une progressbar ?
Marsh Posté le 15-06-2009 à 14:08:41
Bonjour,
Effectivement pour le message le mieux est un Form qui apparait (form("X" ).visible = true) puis qui disparait à la fin (.visible = false)).
Pour le copier / coller, dans le doute le mieux est d'enregistrer la macro en faisant réellement ce que tu veux faire une fois, cela enregistre avec la bonne syntaxe et hop le tour est joué.
"Pro du VBA"
Marsh Posté le 15-06-2009 à 14:14:27
J'ai commenté l'affichage de l'Userform sans titlebarre car il faut du code supplémentaire. Pour la progressbar il faut faire un clic droit sur la boîte à outils dans l'userform et dans "Contrôles supplémentaires", cocher progressbar.
Code :
|
Code :
|
Code :
|
Marsh Posté le 16-06-2009 à 17:44:42
Bonjour tout le monde, un super grand merci pour vos posts. je suis désolé pour le retard.
je revienderai vers vous demain matin pour vous dire ce qu'il en est
je teste .... ciao et à demain.
Marsh Posté le 17-06-2009 à 10:01:38
Bonjour Ctplm
Bonjour produvba
Merci pour vos messages, en fait je suis entrain de tester vos propositions et je n'arrive pas à tout regrouper en une seul macros (les trois codes de Ctplm).
j'ai essayé de créer un userform pour l'appeler par la suite avec le code a Ctplm. ensuite pendant le traitement de mon fichier (mise à jour auto des lignes "par macros) j'aimerai que le userform1 "par exemple" s'affiche... avec le progress bar comme dans le code. sauf que j'ai des erreurs (cf lien hypertext).
=> http://www.excel-pratique.com/~fil [...] _test1.xls
Note: je revienderai toute à l heure pour plus d explication merci.
@+
Ctplm a écrit :
|
Marsh Posté le 17-06-2009 à 21:41:01
Bonsoir,
La procédure UserForm_Initialize doit être dans l'Userform (double-clique sur l'userform dans l'éditeur pour voir son code..).
Les deux autres procédures doivent être dans Module1.
Dans l'ordre : Il faut lancer Userform_Activate, qui affiche l'Userform. Lors de l'initialisation de l'Userform, UserForm_Initialize se lance tout seul, ce qui appelle la procédure TestAutoFill.
Marsh Posté le 18-06-2009 à 17:07:49
Bonjour à toi
Ok merci je teste ça et je te dirai ce qu'il en est demain.
ciao @+
Ctplm a écrit : |
Marsh Posté le 15-06-2009 à 10:03:47
Bonjour,
Je voudrais tirer sur les cellules à mettre à jour avec une macro histoire d'automatiser la mise à jour. Et pendant le traitement je voudrais faire apparaitre un message genre "patientez"...
Je suis entrain de tester cette macro:
Sub tirerauto()
Range("A5:U5" ).Select
Selection.AutoFill Destination:=Range("A10:U10" ), Type:=xlFillDefault
Range("A5:U5" ).Select
Application.Goto Reference:="tirerauto"
End Sub
et ça pour tirer sur une matrice en fait ! et pas une colonne !! mais ça marche pas
j'ai ce message d'erreur: la methode autofill de la classe range a echouée.
note: en meme temps je cherche maintenant un code pour le message de traitement en cours !
Merci pour votre aide.
@+