Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Code erreur VBA range

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 !

AMIGOVBA

XLDnaute Nouveau
Bonjour, j'ai créé un formulaire pour remplir un fichier Excel, dont voici le code et j'ai cette erreur.

J'aimerais votre avis merci à tous

 
Bonsoir , j'explique le fonctionnement, j'ai un bouton pour faire une recherche
le bouton bleu , le second bouton appeler bouton 5 je desire remplir le tableau FAQ avec celui , pour integrer des element dont une photo et j'aimerais qu'il ne soit acccesible que par Mot de passe , au gestionnaire de la FAQ ( Foire aux questions )

Merci a toi
 

Pièces jointes

Bonjour AmigoVba, Job,
En PJ la macro reprise en partie avec :
VB:
Private Sub Valider_Click()
Dim ligne As Long, Target As Range, NomImg As String
    If [Tableau1].Item(1, 1) = "" Then ligne = 1 Else ligne = 1 + [Tableau1].ListObject.ListRows.Count
    With Worksheets("FAQ")
        .Activate
        [Tableau1].Item(ligne, 1) = TextBox1.Value
        [Tableau1].Item(ligne, 2) = TextBox2.Value
        [Tableau1].Item(ligne, 3) = TextBox4.Value
        [Tableau1].Item(ligne, 4) = TextBox3.Value
        [Tableau1].Item(ligne, 5) = TextBox5.Value
        [Tableau1].Item(ligne, 6) = TextBox6.Value
    End With
End Sub
NB: La partie qui suit a été mise en commentaires.
D'autre part dans un TDS il faut laisser XL gérer les lignes, donc supprimer toutes les lignes vides.
 

Pièces jointes

Re,
Ce qui est étonnant c'est que vous écriviez une si longue macro sans la tester dès le départ.
Il suffit d'écrire :
VB:
Private Sub Valider_Click()
Dim ligne As Long, Target As Range, NomImg As String
    If Range("FAQ").Item(1, 1) <> "" Then ligne = Range("FAQ").Rows.Count + 1 Else ligne = 1
    With Worksheets("FAQ")
        .Activate
        .Range("FAQ" & "[Titre]").Item(ligne, 1) = TextBox1.Value
    End With
End Sub
Et déjà là, ça ne marche pas. Donc vous débuguer ce petit code et lorsqu'il marche vous continuez.
Et vous gagnerez énormément de temps.
 
merci a toi au top
 
Comme ça, ça marche, on peut encore optimiser avec :
Code:
Private Sub Valider_Click()
Dim ligne As Long, Target As Range, NomImg As String, i%
    If [Tableau1].Item(1, 1) = "" Then ligne = 1 Else ligne = 1 + [Tableau1].ListObject.ListRows.Count
    For i = 1 To 6
        [Tableau1].Item(ligne, i) = UserForm1.Controls("TextBox" & i).Value
    Next i
End Sub
 
Le plus simple :
VB:
Sub lancerFormulaire()
    If InputBox("Mot de passe : ") <> "1234" Then Exit Sub
    UserForm1.Show
End Sub
(Changer 1234 pour le mot de passe désiré )
Très simple mais le mot de passe est lisible à l'écriture, sinon il faut passer par un userform..
 
Bonjour à tous
Apprenez a travailler avec les tableaux structurés avec les bons outils et de la bonne manière
si le tableau1 a été créé correctement la ligne 1 n'est que visuelle au départ
VB:
Private Sub valider_Click()
    With Range("Tableau1").ListObject.ListRows.Add.Range
        For i = 1 To 6
            .Cells(i) = Me.Controls("TextBox" & i).Value
        Next
    End With
End Sub
 
Bonjour Patrick,
Apprenez a travailler avec les tableaux structurés avec les bons outils et de la bonne manière
C'est ce que j'essaie de faire, Maitre.
Mais si le tableau est vide alors votre macro commence en ligne 2, la ligne 1 est ignorée.


Lorsque j'applique ma macro :
VB:
Private Sub Valider_Click()
Dim ligne As Long, Target As Range, NomImg As String, i%
    If [Tableau1].Item(1, 1) = "" Then ligne = 1 Else ligne = 1 + [Tableau1].ListObject.ListRows.Count
    For i = 1 To 6
        [Tableau1].Item(ligne, i) = UserForm1.Controls("TextBox" & i).Value
    Next i
End Sub
La ligne 1 est bien prise comme référence au début :


En quoi mon code n'est pas conçu "de la bonne manière" ?
 
- 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
3
Affichages
197
Réponses
12
Affichages
245
Réponses
8
Affichages
333
  • Question Question
Microsoft 365 Erreur UBound
Réponses
4
Affichages
164
Réponses
6
Affichages
181
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…