Run-time error '-2147417848 (80010108)':method'_Default' of object 'Range

Bonjour,

J'ai un fichier excel avec une feuille FORM contenant plusieurs textbox et combobox et biensur des boutons. Normalement je remplie les text et Combo et quand je clique sur enregistrer la base de données (feuille excel "la base") est mise à jour automatiquement. Or, un message d'erreur s'affiche : (run-time error '-2147417848 (80010108)':method'_Default' of object 'Range' failed) exactement au niveau de la 3eme ligne ( enrjt = Me.Controls(refrjt & x).Value )

de la procédure ajoutrejrej() du code VBA. et après un autre message de windows s'affiche : "

Microsoft excel has stopped working " et le fichier se ferme !!

ci-après le code:

'Partie Déclaration des varibles

Dim numrjt As Integer
Dim x As Integer
Dim enrjt As Range
Dim refrjt As String
Dim lblrejet As Range

' code du boutons enregistrer

Private Sub cmdenregistrer_Click() 'BOUTON D'ENREGISTREMENT DE DONNEES DANS LA BASE

numrjt = 15
If RejetA3 <> "" Then
refrjt = "RejetA"
ajoutrejrej
End If
If RejetB3 <> "" Then
refrjt = "RejetB"
ajoutrejrej
End If
If RejetC3 <> "" Then
refrjt = "RejetC"
ajoutrejrej
End If
If RejetD3 <> "" Then
refrjt = "RejetD"
ajoutrejrej
End If
If RejetE3 <> "" Then
refrjt = "RejetE"
ajoutrejrej
End If
If RejetF3 <> "" Then
refrjt = "RejetF"
ajoutrejrej
End If
If RejetG3 <> "" Then
refrjt = "RejetG"
ajoutrejrej
End If
If RejetH3 <> "" Then
refrjt = "RejetH"
ajoutrejrej
End If
If RejetI3 <> "" Then
refrjt = "RejetI"
ajoutrejrej
End If
If RejetJ3 <> "" Then
refrjt = "RejetJ"
ajoutrejrej
End If

Sheets("La Base").Select
End Sub

' Code de la procédure ajoutrejrej()

Private Sub ajoutrejrej() 'PROCEDURE D'ENREGISTREMENT DANS LA BASE DE DONNEES
Set enrjt = Sheets("La base").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
For x = 1 To numrjt
enrjt = Me.Controls(refrjt & x).Value
If x = 10 Then
enrjt.Value = CDec(enrjt.Value)
End If
If x = 11 Then
enrjt.Value = CDec(enrjt.Value)
End If
Set enrjt = enrjt.Offset(0, 1)
Next x

Quelqu'un peut m'aider SVP Merci.

Bonsoir Bounou, bonsoir le forum,

Le code sans le fichier qui va bien ne nous permet pas de t'aider...

Bonsoir,

combien vaut numrjt ?

@ bientôt

LouReeD

Bonjour Thauthem, LouReeD Bonjour à tout le monde,

numrjt est une variable integer = 15

Merci à vous.

Ok, donc vous cherchez un contrôle sur votre USF fu nom "151", existe-il ?

@ bientôt

LouReeD

Non Mr LouReeD, il n'existe pas, plutôt j'ai 150 contrôles (text et combo) : compartimentés comme suit:

10 lignes et 15 colonnes

les lignes sont distingues par des lettres ( de A à J) et les colonnes ( numéros de 1 à 15) donc : 1er contrôle : 1ere ligne et col est : rejetA1 ; 1ere ligne et col 2eme c'est rejetA2 ...etc.

de même pour la 2eme ligne rejetB1; rejetB2 ...etc. jusqu'à le dernier contrôle rejetj15. la Boucle normalement récupère le contenu de ces contrôles et les coller dans la base (tableau excel) ligne par ligne (et ça a marché avant sans aucun prob!!!)

Merci LouReeD

Re bonjour ThauThème

: je vous remets ci-joint le fichier excel objet de cette erreur.

Merci d'avance.

Bonsoir le fil, bonsoir le forum,

P... quel B... ! Pourquoi ne fais-tu pas une UserForm avec seulement les 15 premiers contrôles ? Le bouton Enregistrer renvoie les données dans la base puis il ferme et ré ouvre l'UserForm vierge. Et tu recommences la saisie pour une nouvelle ligne. Ça simplifierai considérablement ton code...

Toutefois si tu as absolument besoin de tes 10 lignes de contrôles, on devrait y arriver...

Dis-moi ce que tu en penses. Je commence à bosser sur ton Userform...

[Édition]

Ton fichier modifié en pièce jointe :

23bonou-ep-v01.xlsm (296.67 Ko)


Bonsoir ThauThème Bonsoir à tout le monde, alors oui je voulais avoir un traitement de masse qui est plus bref et pratique souvent je me trouve face un nombre important de rejets à traiter.

Merci.

Re,

As-tu regardé la proposition dans mon post précédent ?

Bonsoir, oui le même Pb ce pose pour le fichier modifié.

Re,

Ha bon !?...

Bonjour le fil, salut ThauThème

Oui le classeur plante lamentablement et pour info 1 seule ligne suffit

Impossible de trouver pourquoi... Perso, je pencherai pour un USF vérolé à reconstruire

A+

Bonjour le fil, bonjour le forum,

J'avoue que pour tester je navet rempli que la première combo de chaque ligne. Alors comme le fichier plante "lamentablement", merci Bruno c'est gentil... J'ai retesté en remplissant tous les champs et ça n'a pas planté lamentablement. Je ne vois donc pas ce que je peux faire de plus...

Salut ThauThème

Surtout, ne le prends pas pour toi

Je voulais simplement parler d'Excel qui ne veut pas faire d'effort

Au plaisir

Re,

Ouais, qu'est-ce je peux être *** parfois. Je l'avais pris pour moi. Désolé...

Re,

Faut dire que vue ta radiographie... je peux comprendre

Bonjour ThauTème, Bruno Bonjour à tout le Forum, bon je pense que le fichier est endommagé et a besoin d'être refait à nouveau. En tout cas, Merci pour votre attention et vos remarques et suggestions.

salut

Re,

Perso, je le ferai autrement avec juste 1 ligne de TextBox et une ListBox en dessous

Ainsi, lors de la saisie de la ligne de textbox, on valide et ça vient l'ajouter à la ListBox

A la fin, on clic sur ajouter et on reprend toutes les infos de la ListBox

En revanche ça oblige à modifier tout le code

A+

Rechercher des sujets similaires à "run time error 2147417848 80010108 method default object range"