Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Determiner la 1ere et derniere cellule numerique d'une selection.

C

Creepy

Guest
Bonjour à tous,

Je souhaite borner un tableau de dimension aléatoire, en fonction de la selection, elle aussi aléatoire, de l'utilisateur.

Pour cela je veux identifier la premiere et la derniere cellule contenant des chiffres d'une selection.

Cette selection se fait par colonnes entières et, est, aléatoire (1,2,3, ... Colonnes). je j'ai juste besoin de connaitre :
- la première cellule numérique de la premiere colonne
- la dernière cellule numérique de la premiere colonne
- la première cellule numérique de la dernière colonne
- la dernière cellule numérique de la derniere colonne

Et je dois avouer que je n'y arrive pas.

Je joins un exmple

Merci d'avance

Creepy
 

Pièces jointes

  • exemple.zip
    8.9 KB · Affichages: 29
  • exemple.zip
    8.9 KB · Affichages: 27
  • exemple.zip
    8.9 KB · Affichages: 29
J

Jeannot

Guest
Bonjour,

voici une partie de code que tu peux intégrer dans ta procédure en remplacement du code existant

Private Sub NonSign()
Dim NbColSel As Integer

NbColSel = Selection.Columns.Count

If NbColSel = 0 Then
MsgBox "Vous n'avez rien selectionné !! Selectionner Vos Colonnes SVP", vbCritical, "Attention ..."
End If

--------- ton code à remplacer ---------------
'PremCol = Selection.Columns(1).Column
'Dim PremsNum As Variant
' For Each PremsNum In Selection.Columns(1)
' If IsNumeric(PremsNum) = True Then
' MsgBox "premier cellule numeric = " & PremsNum.Range
' End If
' Next
--------------------------------------------------
Do
' test si la cellule active est vide ou contient du texte
If ActiveCell = "" Or Not (IsNumeric(ActiveCell)) Then
' Décale la cellule vers le bas
ActiveCell.Offset(1, 0).Select
Else
'Quitte la boucle si la cellule active est numérique
Exit Do
End If
Loop

' Sélectionne la colonne de valeurs
Range(Selection, Selection.End(xlDown)).Select
' Dimensionne la zone en fonction du nombre de colonnes sélectionnées
Range(Selection, ActiveCell.Offset(0, NbColSel - 1)).Select

End Sub

Bon courage

Jeannot
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…