IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Variable tableau (Indice n'appartenant pas à la sélection) [XL-2019]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 617
    Par défaut Variable tableau (Indice n'appartenant pas à la sélection)
    Bonjour à vous
    je continue mon autoformation sur les variables tableaux.
    mon exercice d'aujourd'hui se porte sur l'enregistrement dans une variable tableau. lors de l'exécution du code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Private Sub CommandButton1_Click()
    Dim Ligne As Integer
    Dim CompTextbox As Byte, compteur As Integer
    Dim Tablo(), C()
    
    With Worksheets(1)
    
    
    Tablo = .Range("Tableau1").Value
        'If Not .ListObjects(1).DataBodyRange Is Nothing Then
        ReDim C(LBound(Tablo) To UBound(Tablo))
            For compteur = 0 To UBound(C)
                For CompTextbox = 1 To 4
                    If Me("TextBox" & CompTextbox) <> "" Then
                        C(compteur, CompTextbox - 1) = Me("TextBox" & CompTextbox)
                    End If
                Next
            Next
        'End If
    .ListObjects(1).ListRows.Add
    Ligne = .Cells(.Rows.Count, 1).End(xlUp).Row
    .Cells(Ligne, CompTextbox) = C
    End With
    
    End Sub
    la ligne est surlignée est je reçois le message qui est mentionné dans mon titre: l'indice n'appartient pas à la sélection.

    j'ai besoin de votre aide . merci

  2. #2
    Membre Expert Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 584
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 584
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Tablo = .Range("Tableau1").Value 'te renvoi un table qui commence en 1,1!
    ReDim C(LBound(Tablo, 1) To UBound(Tablo, 1), LBound(Tablo, 2) To UBound(Tablo, 2))
    c(1, 1)="TOTO"


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Private Sub CommandButton1_Click()
    Dim Ligne As Integer
    Dim CompTextbox As Byte, compteur As Integer
    Dim Tablo(), C()
    With Worksheets(1)
          Tablo = .Range("Tableau1").Value
        'If Not .ListObjects(1).DataBodyRange Is Nothing Then
       ReDim C(LBound(Tablo, 1) To UBound(Tablo, 1), LBound(Tablo, 2) To UBound(Tablo, 2))
            For compteur = 1 To UBound(C) 'For compteur =LBound(C) To UBound(C)            For CompTextbox = 1 To 4
                    If Me("TextBox" & CompTextbox) <> "" Then
                        C(compteur, CompTextbox) = Me("TextBox" & CompTextbox)
                    End If
                Next
            Next
        'End If
    .ListObjects(1).ListRows.Add
    Ligne = .Cells(.Rows.Count, 1).End(xlUp).Row
    .Cells(Ligne, CompTextbox) = C
    End With
    End Sub

  3. #3
    Membre émérite Avatar de Valtrase
    Homme Profil pro
    Jeune retraité...
    Inscrit en
    Janvier 2016
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Jeune retraité...
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Janvier 2016
    Messages : 517
    Par défaut
    Salut,
    J'ai pas trop compris où tu voulais en venir, donc petites questions
    Pourquoi passer par Tablo pour avoir tes bornes ? Columns.Count et ListRows.Count de ton TS pourrait très bien faire l'affaire.
    Si tu ajoutes une ligne à ton tableau (.ListObjects(1).ListRows.Add) nul besoin de calculer la position (Ligne = .Cells(.Rows.Count, 1).End(xlUp).Row) puisque la ligne sera sélectionnée, mais il vaut mieux l'affecter (Dim lstRow as ListRow : Set lstRow = .ListObjects(1).ListRows.Add)
    Ensuite tu peux travailler avec les objets Range de ta ligne lstRow.Range(1).Value = TextBox1.Value

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2016] Problème "l'indice n'appartient pas à la sélection" dans un tableau
    Par EddyBertey dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/11/2019, 11h03
  2. Réponses: 13
    Dernier message: 27/04/2012, 10h57
  3. Tableau de valeurs : l'indice n'appartient pas à la sélection
    Par Maryy dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 03/08/2008, 14h42
  4. l'indice n'appartient pas à la sélection ??
    Par Bernard83140 dans le forum Access
    Réponses: 4
    Dernier message: 06/05/2006, 22h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo