Probleme de constant plus constante et de recherche avec find
mod77
Messages postés
1284
Date d'inscription
Statut
Membre
Dernière intervention
-
mod77 Messages postés 1284 Date d'inscription Statut Membre Dernière intervention -
mod77 Messages postés 1284 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Voici mon code
1er problème:
J'ai déclaré mes constantes debList et FinList dans "ThisWorbook" mais elles sont toujours vide lorsque je valide le bouton de commande (ValiderMandant) de mon formulaire. Alors je les ai redéclaré dans ma feuille mais rien ne change. c'est pourquoi je les déclare dans ma procédure. mais cela ne m'arrange pas du tout car j'en ai besoin dans tout mon classeur.
Alors comment dois-je faire svp?
2e problème: pourquoi le message d'erreur "erreur d'exécution 13" , pour la ligne en gras, svp?
Savoir dire NON est un devoir et une force! N'ayez pas peur! L'union fait la force!
Passez en résolu si ça l'est!
Voici mon code
Private Sub cbValiderMandant_Click()
Dim CelMandat As Range
Dim CeLot As Range
Dim NomMandat As String
Dim plage As string
'Saisie des coordonnées
'CelMandat = ActiveCell.Address
NomMandat = Range("F" & ActiveCell.Row).Value
FinList = 10
DebList = 6
plage = "C" & DebList & ":C" & FinList
'Cherche adresse du lot
If tbLot1 <> 0 Then
'Cherche adresse du lot n° 1
Set CeLot = Range(plage).Find(tbLot1, "C" & (DebList - 1), LookIn:=xlValues, LookAt:=xlWhole)
Range("N3") = CeLot 'pr controle
If CeLot Is Nothing Then
MsgBox "Lot Inconnu 1"
Exit Sub 'sortie ou sélection manuelle
End If
'Copie du nom
Range("M" & CeLot.Row).Value = NomMandat
End If
If tbLot2 <> 0 Then
'Cherche adresse du lot n° 2
Set CeLot = Range("C" & DebList & ":C" & FinList).Find(tbLot2.Value, "C" & DebList, xlValues, xlWhole)
If CeLot Is Nothing Then
MsgBox "Lot Inconnu 2"
Exit Sub 'sortie ou sélection manuelle
End If
'Copie du nom
Range("M" & CeLot.Row).Value = NomMandat
End If
If tbLot3 <> 0 Then
'Cherche adresse du mandant du lot n° 3
Set CeLot = Range("C" & DebList & ":C" & FinList).Find(tbLot3.Value, "C" & DebList, xlValues, xlWhole)
If CeLot Is Nothing Then
MsgBox "Lot Inconnu 3"
Exit Sub 'sortie ou sélection manuelle
End If
'Copie du nom
'Range("M" & CeLot.Row).Value = NomMandat
End If
'NoEvents = True
tbLot1.Text = ""
tbLot2.Text = ""
tbLot3.Text = ""
'NoEvents = False
Exit Sub
End Sub
1er problème:
J'ai déclaré mes constantes debList et FinList dans "ThisWorbook" mais elles sont toujours vide lorsque je valide le bouton de commande (ValiderMandant) de mon formulaire. Alors je les ai redéclaré dans ma feuille mais rien ne change. c'est pourquoi je les déclare dans ma procédure. mais cela ne m'arrange pas du tout car j'en ai besoin dans tout mon classeur.
Alors comment dois-je faire svp?
2e problème: pourquoi le message d'erreur "erreur d'exécution 13" , pour la ligne en gras, svp?
Savoir dire NON est un devoir et une force! N'ayez pas peur! L'union fait la force!
Passez en résolu si ça l'est!
A voir également:
- Probleme de constant plus constante et de recherche avec find
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Find and mount - Télécharger - Récupération de données
- Rechercher ou entrer l'adresse mm - recherche google - Guide
- Fréquence tnt recherche manuelle - Forum Téléviseurs
- Recherche photo - Guide
En effet je n'ai pas compris comment quelle était la cellule de début de recherche du find! Il ne fallait pas que je retire 1 en fait!
et pour mon problème de constante, une idée svp?
Surtout pas!
la fonction Find ignore la 1° cellule en haut (et à gauche) d'une plage ou alors il faut utiliser Find next ce qui complique à mon avis...
tes constantes finlist et deblist doivent ^tre déclarées en "public" dans un module standard et non dans thisworkbook
tes variables (ou constantes ?) tblot... sont déclarées où et quelles sont leurs valeurs ?
mais j'ai l'impression que tu nous dis pas tout....
"module standard" c'est celui de la feuille où j'opère ?!
j'ai déclaré finList en public et debList en const
Mes tbLot (1à3) sont des TextBox d'un formulaire de saisie
mais ça plante si je mais le -1
donc je laisse!
Merci