Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/12/2011, 17h01   #1
Invité de passage
 
Homme
Étudiant
Inscription : décembre 2011
Messages : 3
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Vienne (Poitou Charente)

Informations professionnelles :
Activité : Étudiant
Secteur : Conseil

Informations forums :
Inscription : décembre 2011
Messages : 3
Points : 0
Points : 0
Par défaut Effacer valeur dans userform bloque archivage

bonjour à tous !

j'ai un petit problème avec mon userform je souhaite effacer les valeurs que j'ai entré précédemment dans ma textbox.

J'y arrive grâce au code textbox1.value="" ou bien textbox1.text= ""

Le problème c'est que mon userform est relié à une macro qui archive les données que je rentre dans un classeur. Quand je rajoute mon code pour réinitialiser ma textbox cela bloque l'archivage.

Je voudrais un moyen de pouvoir archiver tout en réinitialisant ma textbox.

ci dessous le code de ma textbox :

Code :
1
2
3
4
5
6
7
Private Sub CommandButton1_Click()
Sheets("Tableau Général").Range("K2").Value = 1
UserForm1.TextBox5 = DTPicker1.Value
 
UserForm1.Hide
 
End Sub
et voici le code de mon archivage :


Code :
1
2
3
4
5
6
7
Sub Entrée()
 
    UserForm1.Show
 
    If Sheets("Tableau Général").Range("K2").Value = 1 Then
    nblignes = Sheets("Tableau Général").Range("L2").Value
    Sheets("Tableau Général").Range("B2").Offset(nblignes, 0).Value = UserForm1.TextBox1.Value

End sub


Merci d'avance
gestiondestocks est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2011, 19h16   #2
Membre confirmé
 
Homme Denis Morena
Technicien qualité et métrologie industrielle
Inscription : avril 2011
Messages : 115
Détails du profil
Informations personnelles :
Nom : Homme Denis Morena
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Technicien qualité et métrologie industrielle
Secteur : Industrie

Informations forums :
Inscription : avril 2011
Messages : 115
Points : 221
Points : 221
Bonsoir,

regarde le fichier ci joint, j'espère qu'il pourra t'aider. Je pense pas qu'il faut que t'utilise la cellule K2 pour déterminer si il y a un enregistrement...

Fin j'ai pas vraiment compris pourquoi tu as fait ça puisque pourtant tu as un CommandButton... Fin bref si j'suis pas hors sujet et que t'as des questions n'hésite pas

Cordialement
Fichiers attachés
Type de fichier : zip Raisonnement UserForm.zip (16,6 Ko, 10 affichages)
White Mibu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2011, 19h35   #3
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
Bonsoir,

Ou met tu ton code pour "effacer" tes textbox ?


voir peu-être comment utiliser les événements d'un Userform IV-A. UserForm_Initialize
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 22h01   #4
Invité de passage
 
Homme
Étudiant
Inscription : décembre 2011
Messages : 3
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Vienne (Poitou Charente)

Informations professionnelles :
Activité : Étudiant
Secteur : Conseil

Informations forums :
Inscription : décembre 2011
Messages : 3
Points : 0
Points : 0
Bonsoir à tous !


tout d'abord merci pour vos réponses vous m'avez appris pas mal de chose avec vos messages.

bbil en fait je mets le code textbox1.value= "" sous Userform1.hide et c'est à ce moment la que quand j'utilise mon userform mon archivage ne marche plus.
En fait si j'ai bien compris je crois que cela vient du fait que mon code ne fait que "cacher le userform et que donc dans ma textbox qu'importe ce que j'ai marque il note que la case est vide et rentre cela dans la cellule désignée. C'est ce qu'il fait en réalité car je le vois crée une nouvelle ligne dans mon classeur mais elle est vide.


White mubu j'ai bien regardé ton fichier et c'est exactement ce que je veux faire seulement j'ai pas réussi à reproduire ton codage sur mon fichier excel du coup je peux pas m'en servir. Je suis débutant sur excel car cela fait à peine deux mois que je m'en sers désolé pour mon incompétence...

j'ai essaye de remplacer userform1.hide par Unload me dans le code mais cela a pour effet de ne pas rentrer la valeur dans la cellule que je veux...


Merci encore pour votre aide!

Cordialement
gestiondestocks est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 22h38   #5
Membre confirmé
 
Homme Denis Morena
Technicien qualité et métrologie industrielle
Inscription : avril 2011
Messages : 115
Détails du profil
Informations personnelles :
Nom : Homme Denis Morena
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Technicien qualité et métrologie industrielle
Secteur : Industrie

Informations forums :
Inscription : avril 2011
Messages : 115
Points : 221
Points : 221
Pas besoin d'être désolé...

Citation:
je mets le code textbox1.value= "" sous Userform1.hide et c'est à ce moment la que quand j'utilise mon userform mon archivage ne marche plus
C'est normal, tu cache le formulaire. Ensuite tu efface les valeurs, puis à l'ouverture du formulaire tu vient chercher les données que tu vient de supprimer.

Essai ça :

Code :
1
2
3
4
5
6
7
8
Private Sub CommandButton1_Click()
 
Sheets("Tableau Général").Range("K2").Value = 1
UserForm1.TextBox5 = DTPicker1.Value
 
UserForm1.Hide
 
End Sub

Code :
1
2
3
4
5
6
7
8
9
10
Sub Entrée()
 
    If Sheets("Tableau Général").Range("K2").Value = 1 Then
    nblignes = Sheets("Tableau Général").Range("L2").Value
    Sheets("Tableau Général").Range("B2").Offset(nblignes, 0).Value = UserForm1.TextBox1.Value
 
    textbox1.value= ""
    UserForm1.Show
 
End Sub
ça pourrait marcher je connais pas ton fichier mais ton raisonnement n'est pas le bon... Si ça ne fonctionne pas et que tu peux faire un fichier similaire au tiens sans données confidentiel n'hésite pas on pourra plus t'aider je pense

Cordialement
White Mibu est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h56.


 
 
 
 
Partenaires

Hébergement Web