Mon nombre de ligne varie

bigboule

XLDnaute Nouveau
Bonjour,

je souhaiterais connaître la formule vba qui me permette de sélectionner dans une colonne, toutes les lignes ayant une valeur.

D'avance merci

....;)
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Mon nombre de ligne varie

Bonjour bigboule et bienvenu :)

Allez-voir du côté de Range.SpecialCells
Pour les valeurs du paramètre, le plus simple est d'enregistrer une macro qui aura enregistré le code de l'éxecution de la boîte de dialogue 'Atteindre' (boîte de dialogue à ouvrir par la touche de focntion F5).

Attention: si aucune cellule ne répond aux critères, alors le code renvoie une erreur qu'il faudra gérer.

Exemple (sans gestion d'une selection vide):


Code:
'Toutes les cellules avec une constante    Columns("G:G").SpecialCells(xlCellTypeConstants, 23).Select
    
'Toutes les cellules avec une formule
    Columns("G:G").SpecialCells(xlCellTypeFormulas, 23).Select
    
'Toutes les cellules avec une constante ou une formule
Union(Columns("G:G").SpecialCells(xlCellTypeConstants, 23), _
      Columns("G:G").SpecialCells(xlCellTypeFormulas, 23)).Select
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Mon nombre de ligne varie

(re) Bonjour,

Avec une gestion d'erreur frustre! Dans l'éditeur de code VBA, activez l'option 'Arrêt sur les erreurs non gérées' sinon un message d'avertissement apparaîtra s'il n'y a aucune cellule avec une constante (ou formule).

Code:
Sub Macro1()
Dim xVal As Range, xFormu As Range, xUnion As Range

On Error Resume Next
   'Toutes les cellules avec une constante
   Set xVal = Columns("G:G").SpecialCells(xlCellTypeConstants, 23)
       
   'Toutes les cellules avec une formule
   Set xFormu = Columns("G:G").SpecialCells(xlCellTypeFormulas, 23)
On Error GoTo 0

   'Toutes les cellules avec une constante ou une formule
   If xVal Is Nothing Then
      If Not xFormu Is Nothing Then Set xUnion = xFormu
   ElseIf xFormu Is Nothing Then
      If Not xVal Is Nothing Then Set xUnion = xVal
   Else
      Set xUnion = Union(xVal, xFormu)
   End If
   
   If xUnion Is Nothing Then
      MsgBox "Pas de cellule contenant une valeur ou une formule !"
   Else
      xUnion.Select
   End If

End Sub
 

Pièces jointes

  • Mon nombre de ligne varie v1.xlsm
    19.2 KB · Affichages: 43
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 559
Messages
2 089 637
Membres
104 234
dernier inscrit
boulayy