Mystère recherche ligne

  • Initiateur de la discussion Initiateur de la discussion Phil39
  • 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 !

Phil39

XLDnaute Occasionnel
Bonjour,

J'ai un userform (nommé "Menu") me permettant de rechercher un dossier (une ligne Excel en fait).

Pour cela j'ai fais :

texteBox3 de Menu : on entre un numéro de dossier puis OK sur CommandButton44 (oui, j'en ai beaucoup...)

En textbox4 de Menu, j'ai le nombre total de mes dossiers calculé par la procédure suivante :

Sub TotalDossiers()

Dim nbcells As Integer

nbcells = Application.WorksheetFunction.CountA(Feuil1.Range( "A:A")) – 1

‘ -1 car la ligne A contient l’entête des colonnes

Menu.TextBox4.Value = nbcells

End Sub

Le CommandButton44 de Menu déclenche la procédure suivante (c'est du code de "petit bras" soyez indulgents) :

------------------------------
Public Sub RechercheDossier()

Dim DossierTrouve As Range
Dim Ligne As Integer
Dim Dossier As String

Sheets("Feuil1").Select

Dossier = Menu.TextBox3.Value

If Dossier = "" Then
MsgBox "Entrer le numero du dossier recherché", 48, "Recherche d'un dossier"
Exit Sub
End If

If Not IsNumeric(Dossier) Then
MsgBox "Entrer le NUMERO du dossier recherché.", 48, "Recherche d'un dossier"
GoTo fin
End If

If Dossier = "0" Then
MsgBox "Le dossier 0 n'existe évidement pas !", 48, "Recherche d'un dossier"
Exit Sub
End If

If Dossier > Menu.TextBox4.Value Then
MsgBox "Ce Dossier n'est pas encore créé !", 48, "Recherche d'un dossier"
Exit Sub
End If

Set DossierTrouve = Range("Feuil1!A:A").Find(Dossier)
Ligne = DossierTrouve.Row

MsgBox ("Trouvé ligne :" & Ligne)
DossierTrouve.Select
Call AfficheDossierTrouve

End Sub

-------------------------

La procédure « AfficheDossierTrouve » me permet d'afficher un autre userform et de remplir les champs grâce à des lignes du type :
SuiviDossier.TextBox18.Value = ActiveCell.Offset(rowOffset:=0, columnOffset:=2).Value
Cela fonctionne bien.


LE PROBLEME :

la procédure RechercheDossier fonctionne parfaitement bien SAUF lorsque je rentre dans TextBox3 :
3
4
5
6
7
8
9

la messageBox me renvoie ""Ce Dossier n'est pas encore créé !"

Cela fonctionne parfaitement sur le dossier 1 ou le 10 et ce jusqu'au 26ème.
Le 27ème n'étant pas créé, cela me dit bien qu'il n'est pas créé ce qui est donc normal.

Je précise que j’ai bien entendu supprimé toutes mes lignes et les ai recrées, le problème se reproduit systématiquement de 3 à 9.
Avez-vous une idée du pourquoi du comment de ce mystère « Holmésien » ?

D'avance merci

EDIT :

En cherchant, cela vient probablement du fait que j'ai déclaré ma variable Dossier en String.
En Integer cela fonctionne.
Par contre, je ne m'explique pas pourquoi 1 ou 10 et les suivantes sont prises en compte en String...
De plus, en déclarant Dossier en Integer, je perd mon contrôle if dossier="" then... et mon controle If Not IsNumeric(Dossier) Then

Une petite aide s'il vous plait ?
 
Dernière édition:
Re : Mystère recherche ligne

Bonsoir Phil39,

Difficile, comme je le disais par ailleurs, de déterminer, dans le détail, ce que tu comptes faire ... En annexe une pièce jointe qui illustre (j'espère) les résultats que tu obtiens (j'ai bien dit: "que tu obtiens"). Ce sont de simples formules, mais le principe est le même.
Dans ton cas, "Dossier" est déclaré comme String, ... mais ton textbox est ... du texte aussi (comme son nom le laisse supposer 😉)
Pour qu'une instruction comme
Code:
If Dossier > Menu.TextBox4.Value
ait une chance de donner un résultat digne d'intérêt, il faudrait convertir le texte en valeur numérique, avec, par exemple
Code:
CInt(Range("d5").Value) ... ou ... CInt(Range("C3"))
Pour le reste, pas eu le temps de tout regarder ... il y a peut-être des choses qu'on pourrait "élaguer" ou écrire plus simplement ..... Mais chaque chose en son temps: teste déjà ça et dis-nous quoi.
 

Pièces jointes

- 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

Discussions similaires

Réponses
2
Affichages
533
  • Question Question
Microsoft 365 Problème de date
Réponses
5
Affichages
179
Réponses
2
Affichages
176
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
573
Réponses
10
Affichages
313
Réponses
3
Affichages
685
Retour