Excel selectionner ligne(var:var) en vb

Résolu/Fermé
necro27 Messages postés 160 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 11 février 2011 - 9 juin 2009 à 16:48
amine69500 Messages postés 418 Date d'inscription lundi 8 juin 2009 Statut Membre Dernière intervention 25 août 2013 - 15 juin 2009 à 19:09
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
A voir également:

4 réponses

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
10 juin 2009 à 09:07
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
amine69500 Messages postés 418 Date d'inscription lundi 8 juin 2009 Statut Membre Dernière intervention 25 août 2013 12
10 juin 2009 à 11:05
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
amine69500 Messages postés 418 Date d'inscription lundi 8 juin 2009 Statut Membre Dernière intervention 25 août 2013 12
15 juin 2009 à 19:09
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
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
9 juin 2009 à 17:01
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
necro27 Messages postés 160 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 11 février 2011 8
10 juin 2009 à 08:38
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
necro27 Messages postés 160 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 11 février 2011 8
10 juin 2009 à 08:40
ha euh désolé pour le tableau il n'a pas pris la mise en forme aparamment...
0
necro27 Messages postés 160 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 11 février 2011 8
10 juin 2009 à 09:29
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