format numérique et texte (VBA)

N

Nanard

Guest
Bonjour aux forumeurs et forumeuses,

Voici mon problème, j'avance tous les jours à petits pas dans VBA, mais l'apprentissage est loin d'être simple....Bououou! lol

Je voudrais que dans mon code ci-après, que le format texte et numérique soit reconnu sans changer les conditions vrai ou faux !

Sub recherche_clients()
Dim saisie As Long
Dim DerLigne As Integer
With ActiveWorkbook.Sheets("Facture")
.Range("E10").Value = Application.InputBox(prompt:="Entrez le numéro du client ", Type:=1)
If IsError(.Range("E11").Value) Then
ActiveWorkbook.Sheets("Clients").Select
saisie = Sheets("Facture").Range("E10").Value
DerLigne = Sheets("Clients").Range("B65536").End(xlUp).Row + 1
Sheets("Clients").Cells(DerLigne, 2).Value = saisie
Else
Sheets("Facture").Range("A21").Select
End If
End With
End Sub

merci pour votre aide

Nanard
 
A

arnaud

Guest
Salut :),

il suffit que tu remplace ton

Dim saisie As Long

par soit

Dim saisie As String ( le champ texte accepte a peu près tout mais si tu recupère un nombre et que tu veux travailler dessus c pas super

ou Dim saisie As Variant ( le champ variant prend le bon type de champ selon si c numérique ou alpha etc....mais en contrepartie il faut l'éviter car ça peut devenir vite le bordel dans le code et il prend pas mal de place en mémoire )
 
N

Nanard

Guest
Bonjour arnaud,

j'ai déjà essayé, mais ça n'a pas marché, lorsque je saisie 01 02 nanard et qu'il est dans la base de données, ça me renvoi un MsgBox données invalide !!

Que faire?

Merci de m'aider

@+
Nanard
 
M

Michel_M

Guest
bonsoir,

Il semblerait que tu provoques une erreur de E11 suivant la valeur de E10 pour lancer ton zinzin ?

Si c'est cela, mais je ne suis pas Champollion, il faudrait que tu actionnes le gestionnaire d'erreur

On error resume next
test=.range("E11")
if err<>0 then

Sheets("Clients").Cells(DerLigne, 2).Value = .range("E10")

else
....
end if

tu peux te passer de la variable "saisie"

On error resume next t'évite le msg d'injures... si E11 est erreur, test sera erreur

A voir et essayer

Bon courage quand m^me

A+
Michel
 
M

Michel_M

Guest
Re,

Bien sûr j'ai oublié le truc peut-être important.

passe ton input box du statut méthode au statut fonction

Range("E10")=inputbox ("baratin")

teste sur ta feuille le type de donnée de E10 (esttexte, etc)
et sur un élément de ta BD: cela devrait concorder
 

Discussions similaires

Réponses
4
Affichages
357

Membres actuellement en ligne

Statistiques des forums

Discussions
314 162
Messages
2 106 603
Membres
109 637
dernier inscrit
lafforest