Excel selectionner ligne(var:var) en vb

Résolu
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. 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)
    1. 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
  2. ha euh désolé pour le tableau il n'a pas pris la mise en forme aparamment...
    1. 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. 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
      2. 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.
    2. 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