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 17/10/2011, 00h52   #1
Invité de passage
 
Homme
Divers
Inscription : septembre 2011
Messages : 16
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Divers

Informations forums :
Inscription : septembre 2011
Messages : 16
Points : 4
Points : 4
Par défaut Text Box. Est-ce une adresse?

Madame, Monsieur, Bonsoir....

Un grand merci à ceux qui passeront par là et qui, peut-être, me permettront enfin de trouver la solution.

J'ai un textbox et je souhaite que l'utilisateur ne puisse entrer comme texte uniquement l'adresse d'une cellule. Du type A12 ou B14 etc.

Mais, car il y a un mais, je ne souhaite pas utiliser REFEDIT, ceci n'est pas possible dans le projet que je développe. (l'adresse de la feuille et du classeur est déterminée autrement).

Quelqu'un connaitrait-il un code qui ressemblerait à cela, mais qui fonctionnerait?



Code :
1
2
3
4
5
6
7
8
 
sub test
 
if not Textbox = range then
msgbox= "Vous n'avez pas entré une adresse de cellule"
end if
 
end sub

En vous remerciant beaucoup
Thebeginner est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2011, 08h48   #2
Membre Expert
 
Avatar de Jean-Pierre49
 
Homme J-Pierre Catherine
Conception Calcul
Inscription : juillet 2007
Messages : 659
Détails du profil
Informations personnelles :
Nom : Homme J-Pierre Catherine
Âge : 57
Localisation : France, Maine et Loire (Pays de la Loire)

Informations professionnelles :
Activité : Conception Calcul
Secteur : Industrie

Informations forums :
Inscription : juillet 2007
Messages : 659
Points : 1 856
Points : 1 856
Bonjour

en testant l'érreur par exemple

Code :
1
2
3
4
5
6
On Error GoTo A:
Range(TextBox1.Value).Select
 
Exit Sub
A:
MsgBox = "Vous n'avez pas entré une adresse de cellule"
Tu dis

Bonne journée
__________________
Jean-Pierre Pensez à Voter pour les réponses qui vous ont aidés, d'avance merci
---------Et n'oubliez pas de mettre : ..quand c'est le cas !---------
Jean-Pierre49 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 17/10/2011, 08h58   #3
Nouveau Membre du Club
 
Inscription : janvier 2009
Messages : 43
Détails du profil
Informations forums :
Inscription : janvier 2009
Messages : 43
Points : 27
Points : 27
Ce n'est peut-être pas la solution la plus élégante, mais on peut toujours capturer l'erreur 1004 lorsque la Textbox perd le focus.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  On Error GoTo GESTERROR
 
  MsgBox "OK"
 
  Exit Sub
 
GESTERROR:
If Err = 1004 Then
  MsgBox "Valeur de cellule invalide", vbCritical + vbOKOnly, "Erreur de saisie"
  TextBox1.Text = ""
  TextBox1.SetFocus
End If
End Sub
Dormeur74 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2011, 09h08   #4
Membre Expert
 
Avatar de Jean-Pierre49
 
Homme J-Pierre Catherine
Conception Calcul
Inscription : juillet 2007
Messages : 659
Détails du profil
Informations personnelles :
Nom : Homme J-Pierre Catherine
Âge : 57
Localisation : France, Maine et Loire (Pays de la Loire)

Informations professionnelles :
Activité : Conception Calcul
Secteur : Industrie

Informations forums :
Inscription : juillet 2007
Messages : 659
Points : 1 856
Points : 1 856
Bonjour Dormeur74

Comment tu teste l'erreur?
__________________
Jean-Pierre Pensez à Voter pour les réponses qui vous ont aidés, d'avance merci
---------Et n'oubliez pas de mettre : ..quand c'est le cas !---------
Jean-Pierre49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2011, 19h08   #5
Invité de passage
 
Homme
Divers
Inscription : septembre 2011
Messages : 16
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Divers

Informations forums :
Inscription : septembre 2011
Messages : 16
Points : 4
Points : 4
Par défaut Thanks!

Bonjour,

Merci à vous, c'est la solution de Jean-Pierre que j'ai prise. Je n'étais pas loin avec mes tentatives, mais cela m'oblige à resélectionner la cellule qui était active au lancement de la procédure... 3 lignes de plus, mais il semble que ce soit ce qu'il y a de mieux.

Merci à vous, bonne suite
Thebeginner est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2011, 22h07   #6
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 905
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 905
Points : 7 196
Points : 7 196
Bonjour,

Comme cela on ne déselectionne pas la cellule active
Code :
1
2
3
4
5
6
7
On Error GoTo A
 
Evaluate (Range(TextBox1.Text).Address)
 
Exit Sub
A:
MsgBox "erreur"
__________________
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 actuellement 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 11h25.


 
 
 
 
Partenaires

Hébergement Web