dernière colonne renseignée (valeur)

  • Initiateur de la discussion Initiateur de la discussion jhofman
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jhofman

XLDnaute Occasionnel
Bonjour,

je recherche la méthode la plus rapide pour déterminer en VBA la dernière colonne d'une feuille renssignée. je ne souhaite pas prendre en compte le colonnes avec formule mais dont le résultat est "" afin de minimiser ma zone d'impression en fonction des données restituées.
Merci
 
Re : dernière colonne renseignée (valeur)

c'est pas exactement cela ton code est trop large
je cherche à optimiser le code suivant qui donne la dernière colonne à droite non à "" (ici limité à maxcol mais pas obligé)

Code:
Function dernicolo(ligne As Integer, maxcol As Integer) As Integer
Dim i As Integer
i = maxcol
While Cells(ligne, i) = ""
i = i - 1
Wend
dernicolo = i
End Function
 
Re : dernière colonne renseignée (valeur)

bonjour le fil,

jhofman, je te propose ce code :
Code:
Function dernicolo(ligne As Integer, maxcol As Integer) As Integer
dernicolo = Cells(ligne, Columns.Count).End(xlToLeft).Column
End Function

a+
 
Re : dernière colonne renseignée (valeur)

mromain

Merci mais ta formule me renvoie la dernière colonne avec du code.
je cherche la dernière ou la valeur est non "".
Ainsi une colonne qui contient du code qui renvoie "" n'est pas prise en compte.
 
Re : dernière colonne renseignée (valeur)

Bonjour jhofman et PascalXLD, bonjour à toutes et à tous 🙂

c'est pas exactement cela ton code est trop large
je cherche à optimiser le code suivant qui donne la dernière colonne à droite non à "" (ici limité à maxcol mais pas obligé)

Code:
Function dernicolo(ligne As Integer, maxcol As Integer) As Integer
Dim i As Integer
  i = maxcol
  While Cells(ligne, i) = ""
    i = i - 1
  Wend
  dernicolo = i
End Function


Peut-être quelquechose comme cela :

Code:
Function dernicolo(ligne As Integer, maxcol As Integer) As Integer
'
  If Cells(ligne, maxcol) <> "" Then
    dernicolo = maxcol
  Else
    dernicolo = Cells(ligne, maxcol).End(xlToLeft).Column
  End If
End Function

@+

EDIT : Salut mromain 🙂 Même chose que mromain, ou presque, alors je retire...
 
Dernière édition:
Re : dernière colonne renseignée (valeur)

Re,

En fonction du type de valeur que contiennent tes colonnes, tu peux peut-être utiliser SpecialCells. Voici l'aide d'XL :

SpecialCells, méthode
Voir aussiS'applique àExempleDétailsCette méthode renvoie un objet Range qui représente toutes les cellules correspondant au type et à la valeur spécifiés. Objet Range.

Excel à dit:
expression.SpecialCells(Type, Value)
expression Obligatoire. Expression qui renvoie un des objets répertoriés dans la liste S'applique à.

Type Argument XlCellType obligatoire. Cellules à inclure.

XlCellType peut être l'une de ces constantes XlCellType.
xlCellTypeAllFormatConditions. Cellules de n'importe quel format
xlCellTypeAllValidation. Cellules présentant des critères de validation
xlCellTypeBlanks. Cellules vides
xlCellTypeComments. Cellules contenant des commentaires
xlCellTypeConstants. Cellules contenant des constantes
xlCellTypeFormulas. Cellules contenant des formules
xlCellTypeLastCell. Dernière cellule dans la plage utilisée
xlCellTypeSameFormatConditions. Cellules de même format
xlCellTypeSameValidation. Cellules présentant les mêmes critères de validation
xlCellTypeVisible. Toutes les cellules visibles

Value Argument de type Variant facultatif. Si Type a la valeur xlCellTypeConstants ou xlCellTypeFormulas, cet argument est utilisé pour déterminer quels types de cellules inclure dans le résultat. Ces valeurs peuvent être ajoutées ensemble pour renvoyer plusieurs types. Par défaut, toutes les constantes ou formules sont sélectionnées, quel que soit leur type. Il peut s'agir de l'une des constantes XlSpecialCellsValue suivantes :

XlSpecialCellsValue peut être l'une de ces constantes XlSpecialCellsValue.
xlErrors
xlLogical
xlNumbers
xlTextValues

Sinon, envoie-nous un fichier exemple sans données confidentielles.

@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
378
Réponses
4
Affichages
315
Retour