Erreur d’exécution '6'
DEVPLUS
-
DEVPLUS -
DEVPLUS -
Bonjour,
J'ai un Userform U25 Qui contient
-TextBox1
-TextBox2
-ListView1
Je souhaites ajouter des items par le U25 à la feuille excel BDT, ci dessous ce que j'ai écrit mais j'ai comme code d'erreur '6' Dépassement de capacité.
J'ai un Userform U25 Qui contient
-TextBox1
-TextBox2
-ListView1
Je souhaites ajouter des items par le U25 à la feuille excel BDT, ci dessous ce que j'ai écrit mais j'ai comme code d'erreur '6' Dépassement de capacité.
Private Sub BtNouveau_Click() TextBox1.Enabled = True TextBox2.Enabled = True TextBox1.SetFocus End Sub Private Sub BtValider_Click() Dim i As Integer For i = 1 To Range("a:a").End(xlDown).Row ActiveCell.End(xlDown).Select If UCase(TextBox1.Text) = UCase(Cells(i, 1).Text) And TextBox2 = "" Then MsgBox "Ce Code est Déja Attribué": TextBox1 = "" TextBox2 = "" Exit Sub Else If UCase(TextBox1.Text) = UCase(Cells(i, 1).Text) And TextBox2 <> "" Then Sheets("BDT").Cells(i, 1).Value = Me.TextBox1.Value Sheets("BDT").Cells(i, 2).Value = Me.TextBox2.Value MsgBox "Modification Effectué": TextBox1 = "" TextBox2 = "" Exit Sub End If End If Next i i = 1 Do While Cells(i, 1) <> "" Cells(i, 1).Offset(1, 1).Select i = i + 1 Loop Sheets("BDT").Cells(i, 1).Value = Me.TextBox1.Value Sheets("BDT").Cells(i, 2).Value = Me.TextBox2.Value If MsgBox("Confirmez-Vous l'ajout de cet Aricle?", vbYesNo, "Confirmation") = vbYes Then End If TextBox1 = "" TextBox2 = "" End Sub
EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :ICIMerci d'y penser dans tes prochains messages.Jordane45 |
A voir également:
- Erreur d’exécution '6'
- Nero 6 - Télécharger - Gravure
- Belote a 6 - Forum Graphisme
- Dans la table des matières du document à télécharger, le chapitre 6 et ses 2 sections n'apparaissent pas. trouvez l'erreur dans la structure du document et corrigez-la. mettez à jour la table des matières. quel est le mot formé par les lettres en majuscules de la table des matières après sa mise à jour ? - Forum Word
- Gta 6 trailer 2 - Guide
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
3 réponses
Bonjour,
Pour commencer.. au lieu de chercher une cellule via une boucle de plusieurs milliers de lignes... il serait préférable d'utiliser la méthode FIND
https://forums.commentcamarche.net/forum/affich-37621992-methode-find-dans-vba-recherche-de-donnees-sous-excel
Pour commencer.. au lieu de chercher une cellule via une boucle de plusieurs milliers de lignes... il serait préférable d'utiliser la méthode FIND
https://forums.commentcamarche.net/forum/affich-37621992-methode-find-dans-vba-recherche-de-donnees-sous-excel
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonsoir, sur quelle ligne as-tu l'erreur?
suggestion:
suggestion:
Dim i As Long
Bonjour,
Avec Dim i As Integer
l'erreur est sur la ligne:
For i = 1 To Range("a:a").End(xlDown).Row
pour votre suggestion je l'ai déjà essayer le problème est résolu mais il faut attendre 3 minutes pour avoir le message "Confirmez-Vous l'ajout de cet Article?",
Ce que je n'arrive pas à comprendre avec le même code sur une autre base de donnée
et sur le même classeur, ça marche très bien, d'ailleurs j'ai copié et coller le code.
Avec Dim i As Integer
l'erreur est sur la ligne:
For i = 1 To Range("a:a").End(xlDown).Row
pour votre suggestion je l'ai déjà essayer le problème est résolu mais il faut attendre 3 minutes pour avoir le message "Confirmez-Vous l'ajout de cet Article?",
Ce que je n'arrive pas à comprendre avec le même code sur une autre base de donnée
et sur le même classeur, ça marche très bien, d'ailleurs j'ai copié et coller le code.
Re bonjour,
Avec le code suivant, je pense que tu n'auras plus de soucis.
Je l'ai découpé en sub et fonctions histoire de le rendre plus lisible et plus propre...
Cordialement,
Jordane
Avec le code suivant, je pense que tu n'auras plus de soucis.
Je l'ai découpé en sub et fonctions histoire de le rendre plus lisible et plus propre...
Private Sub BtValider_Click() Dim ligne As Long Dim valCh As String Dim sh As Worksheet Dim valExist As Long Set sh = Worksheets("BDT") valCh = Me.TextBox1.Value valExist = chercheVal(sh, valCh) If valExist Then If TextBox2.Value = "" Then MsgBox "Ce Code est Déja Attribué": Me.TextBox1 = "" Me.TextBox2 = "" ElseIf TextBox2.Value <> "" Then Call modifier(sh, valExist) End If Else Call ajouter(sh) End If End Sub Function chercheVal(sh As Worksheet, Valeur_Cherchee As String) Dim Trouve As Range Dim PlageDeRecherche As Range 'On cherche dans la première colonne de la feuille sh Set PlageDeRecherche = sh.Columns(1) 'méthode find, ici on cherche la valeur exacte (LookAt:=xlWhole) Set Trouve = PlageDeRecherche.Cells.Find(what:=Valeur_Cherchee, LookAt:=xlWhole) 'traitement de l'erreur possible : Si on ne trouve rien : If Trouve Is Nothing Then 'ici, traitement pour le cas où la valeur n'est pas trouvée chercheVal = False Else 'ici, traitement pour le cas où la valeur est trouvée chercheVal = Trouve.Row 'retourne la ligne concernée End If End Function Sub ajouter(sh As Worksheet) Dim LastRow As Long LastRow = Derniere_Ligne(sh) If MsgBox("Confirmez-Vous l'ajout de cet Aricle?", vbYesNo, "Confirmation") = vbYes Then sh.Cells(LastRow + 1, 1).Value = Me.TextBox1.Value sh.Cells(LastRow + 1, 2).Value = Me.TextBox2.Value End If End Sub Sub modifier(sh As Worksheet, ligne As Long) sh.Cells(ligne, 1).Value = Me.TextBox1.Value sh.Cells(ligne, 2).Value = Me.TextBox2.Value MsgBox "Modification Effectuée" End Sub Function Derniere_Ligne(sh As Worksheet) As Long ' Derniere_Ligne = sh.Cells.Find("*", Range("A1"), , , xlByRows, xlPrevious).Row End Function
Cordialement,
Jordane
Je veux remplir une base de donnée par un formulaire "U25"
- quand je tape le code,
1- textbox2="" cela veux dire NOUVEAU
il ya une recherche si le code existe dans la base de donnée "oui ou non".
si c'est oui il m'affiche un message que le code existe déja, si c'est non il me demande si je veux ajouter cet article, si c'est oui il va remplir les cellule de la base de donnée.
2-TEXTBOX2<>"" cela veux MODIFIER
apres modification effectuée sur U25
VALIDER
MESSAGE voulez vous confirmer la modification, si c'est oui elle est reporter sur la base de donnée BDT.