Sélectionnez une colonne en entier sous VBA

Résolu
Gigi0001 Messages postés 9 Statut Membre -  
 mat -
Bonjour,

Je suis débutant en VBA mais j'espère pas pour longtemps! Toujours est-il que je bloque pour selectionner automatiquement une colonne (A) de la ligne 1 à la ligne i (sachant que i+1 = "" ou 0).

La subtilité de mon problème est le suivant:
Entre la cellule A1 et la cellule A999, il peut y avoir des cellules vides. j'ai donc besoin de trouvez une macro qui ne s'arrete pas à la première celulle vide rencontré mais jusqu'à la fin du tableau.
Ensuite, je veux à partir de cette selection faire des calculs. Disons une somme.

Merci des renseignements que vous pourrez m'apportez!
Configuration: Windows XP
Internet Explorer 6.0

5 réponses

  1. aquarelle Messages postés 7181 Date d'inscription   Statut Modérateur Dernière intervention   1 311
     
    Bonsoir,
    Essaie avec cette macro :
    Sub SelectionColonneA()
    Dim x As Long
      
    x = Range("A65536").End(xlUp).Row
      
    Range("A1" & ":" & "A" & x).Select
    
    End Sub


    Bonne soirée
    2
    1. avia
       
      Nickel parfait ta solution ! Merci
      0
  2. LeGrosWinnie Messages postés 44 Statut Membre 15
     
    Il te faut un repère autre qu'une cellule vide...

    Je ne vois pas le souci pour sélectionner une colonne...c'est simplement :

    Range("A1:A999").Select

    Biensûr tu peux mettre ce que tu veux dans Range :
    Range(Cells(1,1),Cells(1,65536).Select
    Ça sélectionnera toute la colonne A (sous presque toutes les version d'Excel sauf la 2007).
    1
    1. mat
       
      Plutôt
      Range(Cells(1,1),Cells(65536,1).Select
      0
  3. Gigi0001 Messages postés 9 Statut Membre 2
     
    Ok.

    En faite, je vais recevoir Toutes les semaines un fichier dans lesquels le nombre de ligne changera mais pas le nombre de colonne.
    Donc, dans une semaine, le tableau ne s'arretera pas à A999 mais A1555.
    Le point de repère c'est que la dernière cellule vide se trouve sur une ligne de cellule vide, contrairement aux lignes précédentes (car c'est un tableau de donnée).
    Merci pour ton éclairage,
    1
  4. Gigi0001 Messages postés 9 Statut Membre 2
     
    D'ailleurs, j'ai trouver quelque chose sur "Comment ca marche mais pour selectionner des lignes:

    Sub Selection()

    Dim i As Integer, fin As Integer
    Dim sel As String
    sel = ""
    ActiveCell.SpecialCells(xlLastCell).Select
    fin = ActiveCell.Row
    Range("A1").Select
    For i = 1 To fin
    If Range("A" & i).Value <> 0 Then
    sel = sel & i & ":" & i & ","
    End If
    Next
    sel = Left(sel, Len(sel) - 1)
    Range(sel).Select
    ' With Selection.Interior
    ' .ColorIndex = 6
    ' .Pattern = xlSolid
    ' End With
    End Sub

    cela correspond à ce que je veux à la différence qu'il ne s'agit pas de selection de ligne mais d'une colonne + il y a des cellules vides dans la colonne.
    1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. GIGI0001
     
    Merci beaucoup Aquarelle!!!
    1
    1. aquarelle Messages postés 7181 Date d'inscription   Statut Modérateur Dernière intervention   1 311
       
      Bonjour,
      De rien et ravie d'avoir pu t'aider.
      Bonne continuation et bonne journée
      0