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 13/03/2010, 21h48   #1
Membre à l'essai
 
Homme Philippe
technicien
Inscription : janvier 2010
Messages : 54
Détails du profil
Informations personnelles :
Nom : Homme Philippe
Âge : 48
Localisation : France, Ain (Rhône Alpes)

Informations professionnelles :
Activité : technicien
Secteur : Santé

Informations forums :
Inscription : janvier 2010
Messages : 54
Points : 23
Points : 23
Par défaut Problème avec un textbox

Bonsoir,

Débutant en macro excel, je vous demande de l'aide:

j'ai un souci avec la valeur captée par le textbox1, quand je rentre un nombre à 1 chiffre, tout va bien, la macro me crée un colonne avec sa légende et la colonne entière avec la valeur captée. Le problème survient quand je rentre un nombre à 2 ou 3 chiffres, là je me retrouve avec 3 colonnes créées avec la même légende et 3 colonnes remplies de 2 pour la 1ère de 20 pour la 2ème et enfin 200 pour la 3ème.
Ce que je cherche à faire c'est créer une colonne cible ou seuil afin de l'intégrer dans un graphique.

Voici le code du textbox:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Private Sub TextBox1_Change()
 
Dim MaFeuille As Worksheet
Dim ligne As Long, ncol As Integer, nomfichier As String
Dim L1 As Integer, T1 As String
 
'récupération nom du fichier excel actif
nomfichier = ActiveWorkbook.Name
 
Workbooks(nomfichier).Worksheets("Feuil2").Range("h9") = UserForm1.TextBox1.Value
L1 = Workbooks(nomfichier).Worksheets("Feuil2").Range("h9")
T1 = Workbooks(nomfichier).Worksheets("Feuil2").Range("h10")
 
'permet de faire reference a la feuille sans avoir a tout taper
Set MaFeuille = Workbooks(nomfichier).Worksheets("Feuil1")
 
'detection nombre lignes & colonnes
ncol = MaFeuille.Cells(13, "F").End(xlToRight).Column
ligne = MaFeuille.Cells(Rows.Count, "F").End(xlUp).Row
 
'Stopper le rafraichissement
    Application.ScreenUpdating = False 'il se remet a true a la fin de la procédure en cours
 
'copie la légende T1 correspodant à la limite L1
Workbooks(nomfichier).Worksheets("Feuil1").Cells(13, ncol + 1) = T1
'rempli la colonne avec la valeur de la limite L1
Workbooks(nomfichier).Worksheets("Feuil1").Range(Cells(14, ncol + 1), Cells(ligne, ncol + 1)) = L1
Je suis ouvert à toutes suggestions afin d'améliorer et/ou épurer mon code.

Merci

Tremens

Dernière modification par AlainTech ; 08/05/2010 à 14h53. Motif: Balises [code], pas [quote]
tremens est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2010, 21h57   #2
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 456
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 456
Points : 12 786
Points : 12 786
je n'ai pas vu tout le code
mais au lieu de
Code :
Private Sub TextBox1_Change()
qui s'exécute à chaque changement (écriture) de la textbox
essaie
Code :
Private Sub TextBox1_AfterUpdate()
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2010, 22h14   #3
Membre à l'essai
 
Homme Philippe
technicien
Inscription : janvier 2010
Messages : 54
Détails du profil
Informations personnelles :
Nom : Homme Philippe
Âge : 48
Localisation : France, Ain (Rhône Alpes)

Informations professionnelles :
Activité : technicien
Secteur : Santé

Informations forums :
Inscription : janvier 2010
Messages : 54
Points : 23
Points : 23
Merci, je teste de suite...

super, la macro marche...merci

Tremens
tremens est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 21h32.


 
 
 
 
Partenaires

Hébergement Web