Selection d'une plage variable de cellule

Selection d'une plage variable de cellule - VB/VBA/VBS - Programmation

Marsh Posté le 16-01-2009 à 16:05:40    

Bonjour à tous,
 
Voilà je cherche en vain une macro qui puisse me permettre de sélectionner une liste de données d'une colonne. Seulement, le nombre et le nom des données dans la collone peuvent changer. Il faut donc intégrer une inconnue, mais je n'arrive pas à écrire la macro.
 
Voici ce que j'ai commencé :
 
' Ma plage de données se situe forcément entre les lignes 59 et 77 de la colonne H
For n = 59 To 77
' Cherche toutes les cellules remplies de la colonne
 If Cells(n, 8) <> "" Then
 ActiveCell.select 'Je souhaite ici ajouter chaque cellule non vide à la sélection pour pouvoir ensuite copier la sélection
Next
End Sub

 
Merci d'avance pour votre aide précieuse.
 
Vincent

Reply

Marsh Posté le 16-01-2009 à 16:05:40   

Reply

Marsh Posté le 16-01-2009 à 18:20:16    

Excel, je présume.
 
Edit: en lisant vite, j'avais cru que le problème était de faire la boucle, mais il semble que le problème soit de constituer une plage qui sera sélectionnée.
Essayer :

Set src_feuille = ThisWorkbook.Sheets("Feuil1" )
src_lg_no = 59  ' à partir de la ligne 59
src_col_no = 8 ' pour la colonne H (A = 1, B = 2, ...)
Set dst_feuille = ThisWorkbook.Sheets("Feuil2" )
dst_lg_no = 59  ' à partir de la ligne 59
dst_col_no = 8 ' pour la colonne H (A = 1, B = 2, ...)
for src_lg_no = 59 to 77
  If (Not IsEmpty(src_feuille.Cells(src_lg_no, src_col_no).Value) Then
    dst_feuille.Cells(dst_lg_no, dst_col_no).Value = src_feuille.Cells(src_lg_no, src_col_no).Value
    dst_lg_no = dst_lg_no + 1
  End If
Next  
ThisWorkbook.Sheets("Feuil2" ).Activate
Range("H59" ).End(xlDown).Select

(Non testé)


Message édité par olivthill le 16-01-2009 à 18:32:49
Reply

Marsh Posté le 17-01-2009 à 15:08:28    

Yes,  
 
Merci beaucoup, je suis bête j'aurai du y penser plus tôt !
 
Ce n'est pas exactement ce que je souhaitais faire, mais le résultat est le même ! En fait tu copie chaque ligne non vides une par une, alors que moi je voulais sélectionner dans la "feuil1" toutes les lignes non vides, pour ensuite les copier d'un bloc dans la "feuil2". Du coup je ne sais toujours pas comment sélectionner une range avec une inconnue du style : Range("A1:inconnue" ).select
 
Merci encore.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed