L'indice n'appartient pas à la sélection.

Résolu
BUDGETS Messages postés 1612 Date d'inscription   Statut Membre Dernière intervention   -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à toutes et à tous,

Qui va pouvoir m'aider à régler cette erreur d'indice qui n'appartient pas à la sélection ? J'ai le fichier BUDGET-ALS35-V11 (8) qui me sert de modèle et qui fonctionne correctement alors dans le mien, j'ai cette erreur que je n'arrive pas hélas à corriger.
D'avance merci pour votre aide.

Fichier BUDGETS-ALS35-V11 (8) :
https://www.cjoint.com/c/KHAjcRTnzdo
Fichier MENUS
https://www.cjoint.com/c/KHAjeckkTto
--
BUDGETS

3 réponses

  1. Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention   17 480
     
    Ton fichier comprend 7 feuilles et un grand nombre de cellules.
    Où devons-nous regarder ?
    1
    1. BUDGETS Messages postés 1612 Date d'inscription   Statut Membre Dernière intervention  
       
      Bonjour Raymond,

      UF01_CAM : procédure cmdValiderCAM_Click(), ligne 'Sur la feuille BD articles menus, ajouter une ligne vide en fin de tableau
      With FL02_BDAM

      Quand tous les cb et tb sont renseignés et que je clique sur Valider CAM, j'ai ce message "L'indice n'appartient pas à la sélection".

      D'avance merci pour ton aide éventuelle.
      0
  2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour a vous deux,

    BUDGET:
     I = WorksheetFunction.Match(cbCodArt.Value, Range("bd articles menus[CAM]"), 0)
    'et
    With Feuille_Liste_Bd_articles_menus.ListObjects("BD articles menus")


    Y a pas de tableau ou nom de plage "BD articles menus".
    Vous avez un tableau "TNAM"
     'Sur la feuille BD articles menus, ajouter une ligne vide en fin de tableau
        Range("TNAM").ListObject.ListRows.Add
        LI = Range("TNAM").Rows.Count

    Ceci comme je programme. Vous n'avez pas a mettre le nom de feuille pour manipuler un tableau

    Fichier Fichier BUDGETS-ALS35-V11 (8) code qui cree la ligne. Le tableau "BD_Articles" existe
     'Sur la feuille BD, ajouter un ligne vide en fin de tableau
        With Feuille_BD_Articles.ListObjects("BD_Articles")
            .ListRows.Add
            Ici = .ListRows.Count 'Indice de la dernière ligne (dans le tableau)
        End With
    1
    1. BUDGETS Messages postés 1612 Date d'inscription   Statut Membre Dernière intervention  
       
      Bonjour f894009,

      1) Je laisse garde I= Worksheet... et j'ajoute With Feuille_Liste ou je supprime I = pour ne garder que le 2) ?
      2) Sur la feuille BD article, j'ajoute les deux instructions mentionnées ?
      En attendant ta réponse, je vais faire des essais.
      Je viens de tester le 2) en gardant I= Worksheet... et je n'ai plus de message d'erreur. Sauf erreur ou omission de ma part, ce n'est pas LI mais I (dans mon test, j'ai bien mis I et non LI).
      0
    2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > BUDGETS Messages postés 1612 Date d'inscription   Statut Membre Dernière intervention  
       
      Re,
      Code en partant de l'original

      Private Sub cmdValiderCAM_Click()
      
      Dim I As Long, Ici As Long
           
          'Contrôles cellules obligatoires
          If cbCodeNAM.Value = "" Then
              MsgBox "Pas de code nature article menu saisi !", vbExclamation
              cbCodeNAM.SetFocus
              Exit Sub
          End If
          
          'Vérification de la présence d'un article déjà présent.
          On Error Resume Next
          I = WorksheetFunction.Match(cbCodArt.Value, Range("TNAM[CAM]"), 0)
          On Error GoTo 0
          If I > 0 Then
              MsgBox "Un articleexiste déjàpour ce code article !", vbExclamation
              cbCodArt.SetFocus
              Exit Sub
          End If
          
          'Sur la feuille BD articles menus, ajouter une ligne vide en fin de tableau
          With Feuille_Liste_Bd_articles_menus.ListObjects("TNAM")
              .ListRows.Add
              Ici = .ListRows.Count 'Indice de la dernière ligne dans le tableau
          End With
          
      End Sub
      0
    3. BUDGETS Messages postés 1612 Date d'inscription   Statut Membre Dernière intervention   > f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention  
       
      Merci f894009. Je clos cette discussion.
      0
    4. BUDGETS Messages postés 1612 Date d'inscription   Statut Membre Dernière intervention   > f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention  
       
      Je viens de comprendre l'erreur que j'avais faite : j'avais mis le nom de la feuille telle que définie dans les dim au lieu du nom du tableau. J'ai regardé dans BUDGETS_ALS35-V11 (8) et j'ai vu que c'était le nom du tableau (BD_Articles).
      0
    5. BUDGETS Messages postés 1612 Date d'inscription   Statut Membre Dernière intervention   > f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention  
       
      Bonjour f894009,

      J'ai encore ce message d'indice qui n'appartient pas à la sélection en ce qui concerne le tri. J'ai bien mis le nom du tableau (TNAM). Merci de m'apporter une nouvelle fois ton aide précieuse.
      https://www.cjoint.com/c/KHCkyNAcsVo
      0
  3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    je pourrais faire une nouvelle discussion avec ce message

    Oui, avec votre fichier des dernières modifs
    0
    1. BUDGETS Messages postés 1612 Date d'inscription   Statut Membre Dernière intervention  
       
      Bonjour f894009,

      Ma nouvelle discussion s'intitule Insérer Numéro création dans TriTNAM (avec ou sans boucles).
      0
      1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > BUDGETS Messages postés 1612 Date d'inscription   Statut Membre Dernière intervention  
         
        Re,

        Merci, je l'ai vue en retournant sur les message VBA
        Je vous ai mis le code dans cette nouvelle demande
        0