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 16/08/2011, 11h26   #1
Invité régulier
 
Femme
Étudiant
Inscription : août 2011
Messages : 63
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : août 2011
Messages : 63
Points : 6
Points : 6
Par défaut Problème avec Textbox

Bonjour. Voilà mon problème j'ai en fait un tableau avec un certain nombre de donnée. Je voudrais pouvoir dans un premier temps à l'aide d'une textbox récupérer toutes les lignes où la valeur rentré dans la Textbox apparait. J'ai réussi à faire quelque chose qui marche pas mal mais le problème c'est que maintenant je voudrais pouvoir récupérer des valeurs supérieures ou inférieures à la valeur rentré dans une Textbox. Pour ceci je ne peux pas utiliser un comparatif de Text comme j'avais fais précédemment de ce genre là.
Code :
If P.Cells(iL, 2).Text = TextBox1.Text Then
Mais je veux comparer des valeurs et là çà ne fonctionne plus et je ne comprend pas pourquoi. Pour moi la valeur de la cellule est une donné numérique mais je ne suis pas sur. En tous cas pour l'instant j'ai le code suivant. Est ce que vous voyez comment faire??

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Private Sub CommandButton1_Click()
 
Dim iL As Long
Dim P As Worksheet
Dim M As Worksheet
Dim h As Long
 
Set P = Worksheets("Sheet2")
Set M = Worksheets("Sheet3")
 
iP2 = Sheet1.Cells(100, 1).Value
 
 
 
TextBox1.Value = h
 
If TextBox1.Value <> "" Then
 
 For iL = 1 To 20
 
            If P.Cells(iL, 2).Value = TextBox1.Value Then
               P.Rows(iL).Copy M.Cells(iP2, 1)
 
            iP2 = iP2 + 1
            End If
 
        Next
M.Select
 
ElseIf TextBox2.Value <> "" Then
MsgBox "OK text 2"
 
ElseIf TextBox3.Value <> "" Then
MsgBox "OK text 3"
 
Else: MsgBox "Rentrer une valeur"
 
 
End If
 
 
End Sub
merci
JulienLeno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 12h21   #2
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 885
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 885
Points : 7 151
Points : 7 151
Bonjour,

Citation:
Mais je veux comparer des valeurs et là çà ne fonctionne plus et je ne comprend pas pourquoi
Pas vraiment explicite comme problème
A tout hazard ton symbole décimale ne serait pas la virgule?
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 12h52   #3
Invité régulier
 
Femme
Étudiant
Inscription : août 2011
Messages : 63
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : août 2011
Messages : 63
Points : 6
Points : 6
Désolé c'est vrai que je me suis un peu mal exprimé. En fait dans l'exemple que je donne je rentre dans ma textbox 5 et il me trouvait toute les lignes où il y'avait 5 mais c'était donné comme du texte. Je voudrais maintenant trouver toutes les lignes où les valeurs sont supérieures ou inférieures à 5. A ce moment là il faut que les valeurs que je compare soit du genre
Code :
If P.Cells(iL, 2).Value = TextBox1.Value Then
et non pas TextBox1.Text mais le code que j'ai mis dans mon post précédent ne fonctionne pas en comparant des données type "Value".

Jespère que cette fois je suis plus clair.

Merci
JulienLeno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 13h11   #4
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 885
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 885
Points : 7 151
Points : 7 151
Tu ne répond pas à cette question
Citation:
A tout hazard ton symbole décimale ne serait pas la virgule?
Si c'est le cas, utilises
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 13h16   #5
Invité régulier
 
Femme
Étudiant
Inscription : août 2011
Messages : 63
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : août 2011
Messages : 63
Points : 6
Points : 6
Désolé mais en fait je vois pas ce que tu veux dire par mon symbole décimale?

Julien
JulienLeno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 13h20   #6
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 885
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 885
Points : 7 151
Points : 7 151
Quand tu saisie un nombre décimal dans Excel ou dans la Textbox, tu as 15.3 ou 15,3
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 13h24   #7
Invité régulier
 
Femme
Étudiant
Inscription : août 2011
Messages : 63
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : août 2011
Messages : 63
Points : 6
Points : 6
15.3 mais même si je rentre un nombre entier comme 5 çà ne fonctionne pas et dans la textbox la valeur 0 s'affiche.
JulienLeno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 13h26   #8
Expert Confirmé
 
Avatar de patricktoulon
 
patrick
Inscription : avril 2009
Messages : 1 829
Détails du profil
Informations personnelles :
Nom : patrick
Âge : 42
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Secteur : Bâtiment

Informations forums :
Inscription : avril 2009
Messages : 1 829
Points : 2 857
Points : 2 857
Envoyer un message via MSN à patricktoulon
Par défaut heu

bonjour

jfontaine t'a demandé pour la virgule a cause un peu de ton énoncer je cite

Citation:
je voudrais pouvoir récupérer des valeurs supérieures ou inférieures à la valeur rentré dans une Textbox
donc on suppose que tu veux arrondir au supérieur et au inférieur

mais vu la suite

tu cherche en fait dans la feuille ce qui est supérieur et inférieur a ton text box ce qui n'est pas la même chose

puisque tu a trouver comment chercher avec le chiffre qui est dans ton textbox en string (variable text) comme te la dis jfontaine "val(textbow1)"
te donne la valeur numérique et plus texte de ton textbox

cela dis des le départ tu déclare ta variable qui va te servir a stocker ce qui est dans le textbox en "variant" ainsi l'application elle même le mettra en numérique ou texte selon le contexte


au plaisir
__________________
mes fichiers dans les contributions:
mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA
mon nouveau mouse in out pour les boutons dans un userform
mon addin pour prendre un cliché de selection de cellules

si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres
et n'oublie pas de voter
patricktoulon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 13h27   #9
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 885
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 885
Points : 7 151
Points : 7 151
dans le commandbutton tu modifies la valeur de textbox1
La valeur de h ne serait elle pas 0 ?
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 13h37   #10
Invité régulier
 
Femme
Étudiant
Inscription : août 2011
Messages : 63
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : août 2011
Messages : 63
Points : 6
Points : 6
J'ai rentré comme tu m'as dit val(Textbox1.text) et çà me semble fonctionner. Cependant je ne comprend pas pourquoi Textbox1.Value ne fonctionnait pas? TextBox est toujours accompagné de .Text?

merci à vous deux en tout cas.

Julien
JulienLeno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 13h45   #11
Expert Confirmé
 
Avatar de patricktoulon
 
patrick
Inscription : avril 2009
Messages : 1 829
Détails du profil
Informations personnelles :
Nom : patrick
Âge : 42
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Secteur : Bâtiment

Informations forums :
Inscription : avril 2009
Messages : 1 829
Points : 2 857
Points : 2 857
Envoyer un message via MSN à patricktoulon
Par défaut re

je viens de te l'expliquer !!!!


texbox1.value te renvoie un texte

exemple

dim montexte as string

montexte=textbox1.value
tu a désormais untexte dans ta variable "montexte"

autrement

dim montexte as long
montexte=textbox1.value
tu a desormais un chiffre dans ta variable

autrement

dim montexte as variant
montexte=textbox1.value
tu a desormais une valeur variante dans ta variable

ce qui veux dire que dans ce cas la tu peux faire

montexte +1' on fait un calcul

ou montexte &"toto" 'on concatène une chaîne de caractère

j'espère que c'est plus clair !!!


au plaisir
__________________
mes fichiers dans les contributions:
mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA
mon nouveau mouse in out pour les boutons dans un userform
mon addin pour prendre un cliché de selection de cellules

si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres
et n'oublie pas de voter
patricktoulon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 13h51   #12
Invité régulier
 
Femme
Étudiant
Inscription : août 2011
Messages : 63
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : août 2011
Messages : 63
Points : 6
Points : 6
d'accord j'ai bien compris cette fois. Mais en fait tout a l'heure j'vais fais ce que tu m'a dis
Code :
1
2
dim h as long
textbox.value=h
et çà ne fonctionnait pas car en fait il faut mettre h=textbox.value.

c'est un truc tout bête mais c'est ce qui m'a perdu!!

Merci pour votre aide!
JulienLeno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 14h08   #13
Expert Confirmé
 
Avatar de patricktoulon
 
patrick
Inscription : avril 2009
Messages : 1 829
Détails du profil
Informations personnelles :
Nom : patrick
Âge : 42
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Secteur : Bâtiment

Informations forums :
Inscription : avril 2009
Messages : 1 829
Points : 2 857
Points : 2 857
Envoyer un message via MSN à patricktoulon
Par défaut re

re
la dyslexie se soigne tres bien de nos jours


dans l'ordre

Code :
1
2
3
4
5
6
7
8
dim h as long' declaration de variable 
h=textbox1.value'on donne une valeur a la variable
 
h=h+10' on ajoue 10 a la variable
 
textbox1=h' on réinjecte la variable dans le textbox 
 
si h au depart etait = a 0 le textbox au final aura 10
est ce que c'est plus clair
__________________
mes fichiers dans les contributions:
mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA
mon nouveau mouse in out pour les boutons dans un userform
mon addin pour prendre un cliché de selection de cellules

si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres
et n'oublie pas de voter
patricktoulon 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 +2. Il est actuellement 09h18.


 
 
 
 
Partenaires

Hébergement Web