Excel selectionner ligne(var:var) en vb

Résolu
necro27 Messages postés 125 Date d'inscription   Statut Membre Dernière intervention   -  
amine69500 Messages postés 471 Statut Membre -
Bonjour,

j'ai un souci qui m'agace tellement il parait simple....mais je ne trouve nulle part une réponse satisfaisante !!

comment, sous vb, selectionner une ligne pour la supprimer?

genre un range(5:5), ou rows("5;5") mais avec des variables a l'intérieur..

merci

Necro27
Configuration: Windows 2003 Internet Explorer 6.0

4 réponses

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

    Dim lig As Long
    
    lig = 2
    While Worksheets(1).Range("A" & lig).Value <> ""
       If Worksheets(1).Range("D" & lig).Value <> "" Then
          If Worksheets(1).Range("B" & lig).Value = Worksheets(1).Range("B" & lig + 1).Value Then
             Worksheets(1).Range("D" & lig + 1).Value  = Worksheets(1).Range("D" & lig).Value 
             Rows(lig).Delete
             lig = lig - 1
          End If
       End If
    lig = lig + 1
    Wend


    Voilà.

    A l'avenir, pose directement l'énoncé du problème, on gagnera du temps, toi et moi.

    ;o)
    1
    1. amine69500 Messages postés 471 Statut Membre 12
       
      bonjour
      es ce tu peu maider stp , jai un soucis , je veu juste controler des colonne avec une listbox:
      exemple : jai une listbox A75 : B176 , je souhaiterai savoir si c possible que quand je seletionne une ligne dans la listbox ca me met true dans la cellule adroite de cette ligne c'est-a-dire je selection ma 1er ligne dans ma listbox A75:B75 , je fai ajouter , et puis je veu que ca met true dans C75:D75.

      merci de votre aide
      bonne journer
      0
    2. amine69500 Messages postés 471 Statut Membre 12
       
      Bonjour,

      es ce que vous pouvez m aider svp , je souhaiterai savoir comment je peu déclarer une variable , colonnesuivante , pour que celle ci contrôle des listbox et textbox dans un userform , c'est a dire quand j'appuie sur le bouton1, a chaque click les listbox et textbox controle la colonne vide suivante .

      voici mon code :

      Private Sub OptionButton1_Click()
      Load UserForm1
      UserForm1.Show
      End Sub

      macro 1 : a affecte au boutoncommande1 :

      Sub remplircolonnesuivante()
      ' ma variable
      Dim colonneSuivante As Long

      ' la condition
      If OptionButton1 = True Then
      Load UserForm1
      UserForm1.Show

      'definir la colonne suivante
      colonneSuivante = _
      Application.WorksheetFunction.CountA

      ' Transfère le contenu des listbox et texbox : c'est ici je sai pa comment faire pour que je controle les cellules de la colonne suivante

      Cells(colonneSuivante, 1) = ListBox.Text
      Cells(colonneSuivante, 2) = TextBox1.Text
      End If

      End Sub

      merci de votre aide

      n'hésitez pas a me demande plus d'information si vous le souhaitez.
      0
  2. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Bonjour,

    Admettons que l'on veuille supprimer une ligne dans un tableau dont le contenu au moins d'une cellule de cette ligne soit égale à 100

    Dim cl
    Dim plage As Range
    Dim lig As Integer
    
    Set plage = Worksheets(1).Range("B2:F100")
    
    For Each cl In plage
       If cl.Value = 100 Then
          lig = cl.Row
          Rows(lig).Delete
        End If
    Next


    ;o)
    0
    1. necro27 Messages postés 125 Date d'inscription   Statut Membre Dernière intervention   8
       
      Bonjour, merci mais le petit souci est que je n'ai pas de valeurs fixes sur les lignes à supprimer.

      En faite, jai une ligne où sont :
      --> colonne 1 : code article
      --> colonne 2 : nom d'un article
      --> colonne 3 : quantité vendue

      L'opération à effectuer est que si la cellule de la colonne 3 est pleine, alors je doit vérifier si la cellule de la même ligne de la colonne 1 est identique à la suivante (ligne+1) et dans le cas où c'est le cas, je doit placer la quantité sur la ligne suivante et supprimer la ligne où était la quantité.

      En clair : (exemple)

      A B C D
      Ligne code article nom article quantité vendue
      1 0005050502 50
      2 0005050502 fleur

      numligne = 1
      Si la cellule (numligne,D) <> vide alors
      si la cellule (numligne,B) = cellule (numligne+1, B) alors
      cellule (numligne+1,D) <-- cellule (numligne,D)
      numligne delete...

      En faite je suprimme la ligne où j'avais la quantité. mais comment selectionner la ligne avec comme valeur 'numligne'

      Où alors j'ai mal compri ton code et dans ce cas là je m'excuse de te demander, si possible des information supplémentaire parce que je ne vois pas avec le code comment l'adapter...

      Merci d'avance

      Necro27
      0
  3. necro27 Messages postés 125 Date d'inscription   Statut Membre Dernière intervention   8
     
    ha euh désolé pour le tableau il n'a pas pris la mise en forme aparamment...
    0
  4. necro27 Messages postés 125 Date d'inscription   Statut Membre Dernière intervention   8
     
    Oui désolé j'étais pris par le temps hier soir et je pensais avoir été assez clair mais en faite pas du tout ^^

    Encore désolé de t'avoir fait perdre du temps

    Et merci beaucoup cela fonctionne !!

    Bonne journée

    Necro27
    0