format numérique et texte (VBA)

  • Initiateur de la discussion Initiateur de la discussion Nanard
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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 )
 
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
 
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
812
Retour