XL 2016 Numéro de fiche itératif

  • Initiateur de la discussion Initiateur de la discussion Najih
  • 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 !

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
 
Bonjour Najih,
nbrfiche est un nombre pas un range :
VB:
Private Sub CommandButton2_Click()
Dim nbrfiche As Long
nbrfiche = Sheets("DATA").Range("B65536").End(xlUp).Row
Sheets("FNC_CHAHBI").Range("E4").Value = nbrfiche + 1
End Sub
 
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
 
Bien sur mais ce n'est pas le cas de 2016. D'ailleurs sur 2007 j'ai 2^20 lignes.
Si la Base qui est dans Data a plus de 32768 lignes il y a erreur.
N'ayant aucun fichier test, un Long est plus sécurisant qu'un Integer;
 
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
 
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
 
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
 
- 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
3
Affichages
265
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
905
Réponses
10
Affichages
656
Réponses
4
Affichages
581
Retour