ForulE EXCEL

o-sixty-o Messages postés 25 Statut Membre -  
gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonsoir,
J'ai besoin de vous !

J'ai une commande dans vb qui permet de supprimer et d'ajouter des lignes sur excel. Mais j'aimerais que, dès qu'on arrive à la ligne 13 ça ne supprime plus de lignes mais ça efface juste la valeur qu'il y a à l'intérieur !! donc si j<13 effacer juste les valeurs dans les lignes ( et non pas supprimer !)

voila...
Configuration: Windows XP
Firefox 2.0.0.12

3 réponses

  1. LatelyGeek Messages postés 1774 Date d'inscription   Statut Membre Dernière intervention   550
     
    Poste le module qui existe déjà, qu'on puisse juste le modifier sans tout bouleverser!
    0
    1. o-sixty-o Messages postés 25 Statut Membre
       
      Bon j'ai envoyé la feuille excel pour que tu comprennes mieux... Enfaite j'ai une listebox sur vb et lorsque je sélectionne un ou plusieurs élément , ce que je sélectionne va se mettre soit ds "REALISATION" "ou 'DOCUMENTATION" donc si ya plus de 2 choix tu comprend bien que ça ajoute une ligne automatiquement ! Ensuite après avoir ajouté ce que je veus , je veus pouvoir supprimer ! donc j'ai réussi . Mais seulement je veus toujours qu'il reste o minimum 2lignes ds Réalisation , Support et Documentation ( partout quoi ! ) donc il faut trouver une formule qui supprime juste à temps qu'il reste que 2 lignes ( et si il reste que 2 lignes il faut que les valeurs ds les lignes soient donc EFFAcées , si on clique sur supprimer ! )

      voici le code pour le clique ajouter une ligne :

      rivate Sub CmdAjouter1_Click()
      Dim i As Integer
      Dim j As Integer
      Dim first As Integer
      Dim last As Integer

      With ListBox1
      For i = 0 To .ListCount - 1

      If .Selected(i) Then
      first = determineWhereToWrite(.List(i))
      j = first
      last = LastLine(j)

      Do While Worksheets("EstimChargeSSE-CTP").Range("C" & j).Value <> ""
      j = j + 1
      Loop

      If Not doesExist(first, last, .List(i), "DU EMULATOR") Then
      If j > last Then
      Worksheets("EstimChargeSSE-CTP").Cells(j, 1).EntireRow.Insert
      Worksheets("EstimChargeSSE-CTP").Range("F" & j).FillDown
      updateIndexAdd (last)
      End If
      Worksheets("EstimChargeSSE-CTP").Range("B" & j).Value = "DU EMULATOR"
      Worksheets("EstimChargeSSE-CTP").Range("C" & j).Value = .List(i)
      Worksheets("EstimChargeSSE-CTP").Range("E" & j).Value = ReturnNbJour(.List(i))

      End If
      End If
      Next
      End With

      End Sub



      ET celui pour supprimer :

      Private Sub cmdSupprimer1_Click()
      Dim i As Integer
      Dim j As Integer
      Dim first As Integer
      Dim last As Integer

      With ListBox1
      For i = 0 To .ListCount - 1
      If .Selected(i) Then

      first = determineWhereToWrite(.List(i))
      j = first
      last = LastLine(j)

      Do While Worksheets("EstimChargeSSE-CTP").Range("C" & j).Value <> ""

      If Worksheets("EstimChargeSSE-CTP").Range("C" & j).Value = .List(i) Then
      Worksheets("EstimChargeSSE-CTP").Cells(j, 1).EntireRow.Delete
      updateIndexDelete (last)
      ' Else
      ' If j < 12 Then
      ' If Worksheets("EstimChargeSSE-CTP").Range("C" & j).Value = .List(i) Then
      ' Worksheets("EstimChargeSSE-CTP").Cells(j, 1).EntireRow.ClearContents
      ' End If
      ' End If
      End If


      j = j + 1
      Loop
      End If

      Next
      End With
      End Sub



      miss_O_sixty@hotmail.com si ta rien compris lol
      0
  2. o-sixty-o Messages postés 25 Statut Membre
     
    je n'arrive pas à envoyer mon fichier :s
    0
  3. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    bonjour

    En changeant cette partie, cela devrait te donner satisfaction
    If Worksheets("EstimChargeSSE-CTP").Range("C" & j).Value = .List(i) Then
    
       If j < 12 Then
         Worksheets("EstimChargeSSE-CTP").Cells(j, 1).EntireRow.ClearContents
       Else
         Worksheets("EstimChargeSSE-CTP").Cells(j, 1).EntireRow.Delete
    '     updateIndexDelete (last) ' enlever la mise en commentaire si tu ne veux que les suppressions
       End If
    '   updateIndexDelete (last)  ' enlever la mise en commentaire si tu  veux toutes les modifications
    End If
    
    0