Bonjour

Voilà une macro excel où je selectionne 4 colonnes ...Range("F:K").Select... seulement je ne voudrais selectionner automatiquement que les lignes et colonnes non vides, c'est à dire jusqu'à la derniere ligne du fichier. Je pensais utiliser ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Selection.SpecialCells(xlCellTypeLastCell).Select
qui me donne la derniere cellule puis le stocker dans une variable mais de quel type? et ensuite utiliser cette variable pour faire une selection de la cellule A1 à cette variable
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Range("A1...variable).Select
Mais j'ai essayé pas mal de syntaxe sans succés
Pouvez vous m'aider svp

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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 16/10/2007 par sncf
'
' Touche de raccourci du clavier: Ctrl+a
'
    Columns("A:A").Select
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
        Semicolon:=False, Comma:=True, Space:=True, Other:=False, FieldInfo:= _
        Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1)), _
        DecimalSeparator:=".", TrailingMinusNumbers:=True
 
    Range("A:A,D:D,E:E").Select 'selection colonnes A D E
    Selection.EntireColumn.Hidden = True 'masque la selection
    Range("F2").Select 'selectionne la cellule F2
    ActiveCell.FormulaR1C1 = "=IF(RC[-2]>45,1,0)" 'y integre la formule si >45 alors 1
    Range("G2").Select 'selectionne la cellule G2
    ActiveCell.FormulaR1C1 = "=IF(RC[-3]<55,1,0)" 'y integre la formule si <55 alors 1
    Range("H2").Select 'selectionne la cellule H2
    ActiveCell.FormulaR1C1 = "=RC[-2]*RC[-1]"  'y integre la formule G2*H2
    Range("I2").Select 'selectionne la cellule I2
    ActiveCell.FormulaR1C1 = "=IF(RC[-5]>95,1,0)"  'y integre la formule si >95 alors 1
    Range("J2").Select 'selectionne la cellule J2
    ActiveCell.FormulaR1C1 = "=IF(RC[-6]<105,1,0)"  'y integre la formule si <105 alors 1
    Range("K2").Select 'selectionne la cellule K2
    ActiveCell.FormulaR1C1 = "=RC[-2]*RC[-1]"  'y integre la formule I2*J2
    Range("F2:K2").Select 'selectionne toutes les formules
    Selection.Copy 'les copient
    Range("F:K").Select 'selectionne les colonnes correspondantes
    ActiveSheet.Paste 'les posent
    Range("B1").Select 'selectionne cellule B1
    ActiveCell.FormulaR1C1 = "Jour" 'y inscrit Jour
    Range("C1").Select 'selectionne cellule C1
    ActiveCell.FormulaR1C1 = "Heure" 'y inscrit Heure
    Range("H1").Select 'selectionne cellule H1
    ActiveCell.FormulaR1C1 = "Defaut" 'y inscrit Defaut
    Range("K1").Select 'selectionne cellule K1
    ActiveCell.FormulaR1C1 = "Marche" 'y inscrit Marche
    Range("F:G,I:J").Select 'selectionne colonnes F G I F
    Selection.EntireColumn.Hidden = True 'les masquent
    End Sub