Beug excel

Bonjour,

Au moment d'insérer une ligne via la macro excel ne répond pas
Comment ce fais-ce ?

8 réponses

  1. Oui, mais je n'arrive pas a identifier le problème, je viens de remarquer qu'en supprimant manuellement une ligne ou en l'ajoutant il ne répond pas non plus
    1. Bonsoir,

      Bizarre que cela vienne d'Excel, je pense plutôt du code qui plante Excel, redémarre ton ordi et essaye de supprimer et insérer des lignes manuellement, si tu as des codes au démarrage dans la Thiswokbook neutralise les avant de relancer ton PC. Si manuellement le problème est corrigé au démarrage copie dans un post ton code ou joint le fichier anonymisé avec ce lien

      https://www.cjoint.com/
      1. Bonjour,

        Excel n'est pas mis en cause, mais plutôt un problème de taille causé par la multitude de formules et codes qu'il faudrait revoir, un exemple dans les propriétés de l'onglet état tu as ce code qui n'est lié à aucun bouton

        Private Sub CommandButton1_Click()
        Sheets("index").Activate
        End Sub

        de même dans les propriétés de ta feuille Index/Private Sub CommandButton1_Click()

        tu peux simplifier chaque appel d'userform, exemple cette partie
        If Password = "12031984" Then
        UserForm9.Show
        ElseIf Password = "18071987" Then
        UserForm9.Show
        ElseIf Password = "12121988" Then
        UserForm9.Show

        remplacé par cette simple ligne
        If Password = "18071984" Or Password = "18071987" Or Password = "18071988" Then UserForm9.Show

        idem pour chaque groupe ce qui va sérieusement alléger ce code.

        autrement l'ajout ou la suppression de ligne se fait, mais très lentement si tu ne touche pas ton fichier. Dans un premier temps il serait bon de revoir tous tes codes pour les rendre plus lisible ainsi que tes formules et as tu besoin d'autant de feuille ?
        1. Bonjour,

          Avec la liste de code juste en dessous le "or" Password ne fonctionne pas .

          Voici la liste:

          If Password = "1912" And Sheets("aptitudes").Range("x3") = "OUI" Then
          Sheets("feuil19").Range("a1") = "1912"
          ElseIf Password = "6564" And Sheets("aptitudes").Range("x4") = "OUI" Then
          Sheets("feuil19").Range("a1") = "6564"
          ElseIf Password = "6564" And Sheets("aptitudes").Range("x4") = "OUI" Then
          Sheets("feuil19").Range("a1") = "6564"
          UserForm10.Show
          ElseIf Password = "6564" And Sheets("aptitudes").Range("x4") = "OUI" Then
          Sheets("feuil19").Range("a1") = "6564"
          UserForm10.Show
          ElseIf Password = "10058" And Sheets("aptitudes").Range("x5") = "OUI" Then
          Sheets("feuil19").Range("a1") = "10058"
          UserForm10.Show
          ElseIf Password = "12724" And Sheets("aptitudes").Range("x6") = "OUI" Then
          Sheets("feuil19").Range("a1") = "12724"
          UserForm10.Show
          ElseIf Password = "12784" And Sheets("aptitudes").Range("x7") = "OUI" Then
          Sheets("feuil19").Range("a1") = "12784"
          UserForm10.Show
          ElseIf Password = "11048" And Sheets("aptitudes").Range("x8") = "OUI" Then
          Sheets("feuil19").Range("a1") = "11048"
          UserForm10.Show
          ElseIf Password = "13333" And Sheets("aptitudes").Range("x9") = "OUI" Then
          Sheets("feuil19").Range("a1") = "13333"
          UserForm10.Show
          ElseIf Password = "13592" And Sheets("aptitudes").Range("x10") = "OUI" Then
          Sheets("feuil19").Range("a1") = "13592"
          UserForm10.Show
          ElseIf Password = "13749" And Sheets("aptitudes").Range("x11") = "OUI" Then
          Sheets("feuil19").Range("a1") = "13749"
          UserForm10.Show
          ElseIf Password = "14097" And Sheets("aptitudes").Range("x12") = "OUI" Then
          Sheets("feuil19").Range("a1") = "14097"
          UserForm10.Show
          ElseIf Password = "14096" And Sheets("aptitudes").Range("x13") = "OUI" Then
          Sheets("feuil19").Range("a1") = "14096"
          UserForm10.Show
          ElseIf Password = "x" And Sheets("aptitudes").Range("x14") = "OUI" Then
          Sheets("feuil19").Range("a1") = "0"
          UserForm10.Show
          ElseIf Password = "x" And Sheets("aptitudes").Range("x15") = "OUI" Then
          Sheets("feuil19").Range("a1") = "0"
          UserForm10.Show
          ElseIf Password = "x" And Sheets("aptitudes").Range("x16") = "OUI" Then
          Sheets("feuil19").Range("a1") = "0"
          UserForm10.Show
          ElseIf Password = "x" And Sheets("aptitudes").Range("x17") = "OUI" Then
          Sheets("feuil19").Range("a1") = "0"
          UserForm10.Show
          ElseIf Password = "13202" And Sheets("aptitudes").Range("x18") = "OUI" Then
          Sheets("feuil19").Range("a1") = "13202"
          UserForm10.Show

          Cordialement
          1. Re,

            l'inputbox alimente une seule cellule feuille nommée feuil19 cellule A1, tu peux simplifier le code en nommant la cellule A1 feuil19 par exemple Passw, ce qui va sérieusement simplifier et alléger le code "Sheets("feuil19").Range("a1")" sera remplacé par [Passw]de même dans cette cellule A1 feuil19 à la place de saisir dans le code le matricule avec une marge d'erreur il suffit de retourner ta variable de l'inputbox Password
            ce qui simplifie ta ligne de code à
            Password = "13202" And Sheets("aptitudes").Range("x18") = "OUI" Then [Passw] = Password

            ceci dit, le code de ton dernier post pourrait se limiter à

            Password = InputBox("N° de Matricule", "", "Matricule")
            If Password = "1912" And Sheets("aptitudes").Range("x3") = "OUI" Or _
            Password = "6564" And Sheets("aptitudes").Range("x4") = "OUI" Or _
            Password = "10058" And Sheets("aptitudes").Range("x5") = "OUI" Or _
            Password = "12724" And Sheets("aptitudes").Range("x6") = "OUI" Or _
            Password = "12784" And Sheets("aptitudes").Range("x7") = "OUI" Or _
            Password = "11048" And Sheets("aptitudes").Range("x8") = "OUI" Or _
            Password = "13333" And Sheets("aptitudes").Range("x9") = "OUI" Or _
            Password = "13592" And Sheets("aptitudes").Range("x10") = "OUI" Or _
            Password = "13749" And Sheets("aptitudes").Range("x11") = "OUI" Or _
            Password = "14097" And Sheets("aptitudes").Range("x12") = "OUI" Or _
            Password = "14096" And Sheets("aptitudes").Range("x13") = "OUI" Or _
            Password = "13202" And Sheets("aptitudes").Range("x18") = "OUI" Then
            [Passw] = Password
            UserForm10.Show
            End If
            If Password = "x" And Sheets("aptitudes").Range("x14") = "OUI" Or _
            Password = "x" And Sheets("aptitudes").Range("x15") = "OUI" Or _
            Password = "x" And Sheets("aptitudes").Range("x16") = "OUI" Or _
            Password = "x" And Sheets("aptitudes").Range("x17") = "OUI" Then
            [Passw] = "0"
            UserForm10.Show
            End If