Bonjour à tous!!
Est-il possible en vba, de sélectionner dans une certaine colonne, les cellules qui sont utilisées, non vides? J'ai essayé UsedRange en vain
Merci
Bonjour à tous!!
Est-il possible en vba, de sélectionner dans une certaine colonne, les cellules qui sont utilisées, non vides? J'ai essayé UsedRange en vain
Merci
Bonjour,
Essaie (dans l'exemple, pour la colonne A) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Sub test() Dim Plage As Range, Plage1 As Range, Plage2 As Range On Error Resume Next With Columns(1) Set Plage1 = .SpecialCells(xlCellTypeConstants) Set Plage2 = .SpecialCells(xlCellTypeFormulas) Set Plage = Union(Plage1, Plage2) On Error GoTo 0 If Plage1 Is Nothing And Plage2 Is Nothing Then MsgBox "aucune cellule sélectionnéee" Exit Sub End If If Plage1 Is Nothing Then Set Plage = Plage2 ElseIf Plage2 Is Nothing Then Set Plage = Plage1 Else Set Plage = Union(Plage1, Plage2) End If End With End Sub
Bonjour,
Le code ci-dessous sélectionnera toutes les cellules non vide à côté de A1
Code : Sélectionner tout - Visualiser dans une fenêtre à part Range("A1").CurrentRegion.Select
Merci à vous de vous être penchés sur la question
@Daniel, j'ai essayé mais cela ne fait pas ce que je veux
@BlueMonkey, j'avais aussi essayé CurrentRegion mais cela ne me sélectionne pas les bonnes cellules
Je voulais faire un truc du genre
mais cette ligne renvoit une erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part ActiveSheet.Columns['E'].UsedRange.Select
Bonjour,
Ce code ne sélectionne que les cellules non vide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Dim rg As Range Dim Cellule As Range For Each Cellule In Range("A:A") If Not IsEmpty(Cellule) Then If Not rg Is Nothing Then Set rg = Range("" & rg.Address & "," & Cellule.Address & "") Else Set rg = Range("" & Cellule.Address & "") End If End If Next rg.Select
Re.
Si les cellules contenant du texte sont complétées sans trou,
Range("A7:A" & (Range("A65000").End(xlUp).Row)).Selectdevrait faire l'affaire également.
[Edit] Pour finir une solution pour ne pas partir d'une ligne en particulier
Bonne journée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Range("A" & (Range("A1").End(xlDown).Row) & ":A" & (Range("A65000").End(xlUp).Row)).Select
Pour sélectionner les cellules :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Sub test() Dim Plage As Range, Plage1 As Range, Plage2 As Range On Error Resume Next With Columns(1) Set Plage1 = .SpecialCells(xlCellTypeConstants) Set Plage2 = .SpecialCells(xlCellTypeFormulas) Set Plage = Union(Plage1, Plage2) On Error GoTo 0 If Plage1 Is Nothing And Plage2 Is Nothing Then MsgBox "aucune cellule non vide" Exit Sub End If If Plage1 Is Nothing Then Plage2.Select ElseIf Plage2 Is Nothing Then Plage1.Select Else Union(Plage1, Plage2).Select End If End With End Sub
Merci à tous, je pense que je vais me débrouiller avec toutes vos réponses!!
Merci encore!!
Bonne journée
Partager