Sélectionnez une colonne en entier sous VBA
Résolu
Gigi0001
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
mat -
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!
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!
A voir également:
- Vba range colonne entière
- Déplacer colonne excel - Guide
- Trier colonne excel - Guide
- Colonne word - Guide
- Formule somme excel colonne - Guide
- Capture d'écran page entière - Guide
5 réponses
Bonsoir,
Essaie avec cette macro :
Bonne soirée
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
avia
Nickel parfait ta solution ! Merci
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).
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).
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,
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,
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.
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question