Beug excel

steph62880 Messages postés 15 Statut Membre -  
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

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

8 réponses

  1. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Bonjour,

    Il doit y avoir un problème.
    0
    1. steph62880 Messages postés 15 Statut Membre
       
      Beug
      0
  2. steph62880 Messages postés 15 Statut Membre
     
    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
    0
  3. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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/
    0
  4. steph62880 Messages postés 15 Statut Membre
     
    Dans thisworkbook je n'ai rien du tout.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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 ?
    0
  7. steph62880 Messages postés 15 Statut Membre
     
    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
    0
  8. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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

    0