XL 2016 Numéro de fiche itératif

Najih

XLDnaute Nouveau
Bonjour Les Amis,
Svp, dans un formulaire j'ai besoin d'un numéro on rajoutant a chaque fois 1 a la dernière valeur de la dernière cellule non vide de la colonne B
Formulaire de saisie dans une feuille nommée "FNC_CHAHBI" , la cellule "E4"
"DATA" c'est Feuille ou se trouve la derniere cellule non vide de la colonne B sur laquelle on doit rajouter

j'ai essayé ça:
Private Sub CommandButton2_Click()
Dim nbrfiche As Range
nbrfiche.Value = Sheets("DATA").Range("B65536").End(xlUp).Row
Sheets("FNC_CHAHBI").Range("E4").Value = nbrfiche.Value + 1
End Sub


j obtiens un débogage dans cette ligne:
nbrfiche.Value = Sheets("DATA").Range("B65536").End(xlUp).Row
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour @Najih , le Forum

Pas besoin de passer par un objet Range pour 'nbrfiche'.... Enfin à mon humble avis ...

VB:
Option Explicit

Private Sub CommandButton2_Click()
Dim nbrfiche As Integer

nbrfiche = Sheets("DATA").Range("B65536").End(xlUp).Row
Sheets("FNC_CHAHBI").Range("E4").Value = nbrfiche + 1

End Sub

Bonne fin de journée
@+Thierry

EDIT Salut @sylvanu !
Et aussi as Long oui, si on dépasse la capacité Integer
 

Najih

XLDnaute Nouveau
Bonjour @Najih , le Forum

Pas besoin de passer par un objet Range pour 'nbrfiche'.... Enfin à mon humble avis ...

VB:
Option Explicit

Private Sub CommandButton2_Click()
Dim nbrfiche As Integer

nbrfiche = Sheets("DATA").Range("B65536").End(xlUp).Row
Sheets("FNC_CHAHBI").Range("E4").Value = nbrfiche + 1

End Sub

Bonne fin de journée
@+Thierry

EDIT Salut @sylvanu !
Et aussi as Long oui, si on dépasse la capacité Integer


Thierry
ca repond a la moitie de mon besoin deja merci bcp
ca ma reste de prendre en compte le contenu de la cellule, par exemple si la valeur de derniere cellule est de 30 ex (mem si elle est dans la ligne 20 par ex)
je cherche a avoir 30+1 = 31

mercii encore
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir @Najih, @sylvanu @jmfmarques , le Forum

ca ma reste de prendre en compte le contenu de la cellule, par exemple si la valeur de derniere cellule est de 30 ex (mem si elle est dans la ligne 20 par ex)

Ah oui dans ce cas ça change tout !

VB:
Option Explicit

Private Sub CommandButton2_Click()
Dim nbrfiche As Range

Set nbrfiche = Sheets("DATA").Range("B65536").End(xlUp)

If IsNumeric(nbrfiche.Value) Then
    Sheets("FNC_CHAHBI").Range("E4").Value = nbrfiche.Value + 1
Else
    MsgBox "La valeur de " & nbrfiche.Address & " n'est pas numérique!" & vbCrLf & "Aucun calcul effectué"
End If
End Sub

A noter le SET d'objet pour faire un objet "Range" ... (comme signalé par jmfmarques au début)

Bonnne soirée
@+Thierry
 

Najih

XLDnaute Nouveau
Bonsoir @Najih, @sylvanu @jmfmarques , le Forum



Ah oui dans ce cas ça change tout !

VB:
Option Explicit

Private Sub CommandButton2_Click()
Dim nbrfiche As Range

Set nbrfiche = Sheets("DATA").Range("B65536").End(xlUp)

If IsNumeric(nbrfiche.Value) Then
    Sheets("FNC_CHAHBI").Range("E4").Value = nbrfiche.Value + 1
Else
    MsgBox "La valeur de " & nbrfiche.Address & " n'est pas numérique!" & vbCrLf & "Aucun calcul effectué"
End If
End Sub

A noter le SET d'objet pour faire un objet "Range" ... (comme signalé par jmfmarques au début)

Bonnne soirée
@+Thierry

Bonsoir @+Thierry
ça Marche très bien cher Ami
Merci beaucoup
 

Discussions similaires

Réponses
4
Affichages
190

Statistiques des forums

Discussions
312 046
Messages
2 084 838
Membres
102 685
dernier inscrit
med_remi021