Rechercher : dans
Par :

Excel selectionner ligne(var:var) en vb

Dernière réponse le 15 jun 2009 à 19:09:13 necro27, le 9 jun 2009 à 16:48:32 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « excel selectionner ligne(var:var) en vb » dans :
Figer une ligne dans un tableau Excel Voir Pour figer la ligne 1 (par exemple) dans une feuille excel : Sélectionnez la ligne 2, Puis allez dans le menu "Fenêtres" et option "Figer les volets".
[Excel] Trier sur les lignes (horizontalement), non les colonnes VoirMicrosoft Excel est configuré par défaut pour réaliser un tri sur les colonnes (Données / Trier). Pour trier les données horizontalement, il suffit de sélectionner les données à trier, puis de cliquer sur le bouton Options et, dans le panneau...

1

Polux31, le 9 jun 2009 à 17:01:19

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) «Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.» 
Nicolas Boileau

Répondre à Polux31

2

necro27, le 10 jun 2009 à 08:38:20

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

Répondre à necro27

3

necro27, le 10 jun 2009 à 08:40:18

Ha euh désolé pour le tableau il n'a pas pris la mise en forme aparamment...

Répondre à necro27

4

Polux31, le 10 jun 2009 à 09:07:22
  • +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) «Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.» 
Nicolas Boileau

Répondre à Polux31

6

amine69500, le 10 jun 2009 à 11:05:26

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

Répondre à amine69500

7

 amine69500, le 15 jun 2009 à 19:09:13

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.

Répondre à amine69500

5

necro27, le 10 jun 2009 à 09:29:31

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

Répondre à necro27