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

XL 2021 Mon codage ne fonctionne pas il devrais créer un numero automatique

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 !

vero72

XLDnaute Nouveau
bonjour, j'ai un problème mon code ne fonctionne pas et je ne vois pas ou est le soucis.

Sub ajoutercode()
Dim wste As worsheet
Dim wsDash As Worksheet
Dim lastRow As Long
Dim newID As Long
Dim lastvalue As Variant

On Error GoTo errorhabdler
Set wste = ThisWorkbook.Sheets("database")
Set wsDash = thisworksbook.Sheets("dashdoard")

lastRow = wsto.Cells(wsto.Rows.Count, "A").End(xlUp).Row


If lasrow < 3 Then
MsgBox "Ajouter le code manuellement comme de :1000"
Exit Sub
End If

lastvalue = wsto.Cells(lastRow, "1").Value
If latmeric(lastvalue) Then
newID = lastvalue + 1
Else
MsgBox "Le code trouvé dans la colonne A n'est pas numérique."
Exit Sub
End If

wsDash.Range("D1").Value = newID
Exit Sub
errordandler:
MsgBox " An error occurred:" & Err.Description


End Sub
 
Bonjour et bienvenue sur ce forum

Pour une meilleure compréhension de ce qui ne fonctionne pas, pensez à ajouter un fichier sans données sensibles

Sinon à cette ligne petite erreur de code. remplacez par cette ligne
VB:
If IsNumeric(lastvalue) Then

Aussi votre déclaration à corriger
VB:
Dim wsto As worksheet

plus bas -->
Code:
ThisWorkbook

NB : petit détail (qui n'influence pas le déroulé du code), ceci est plus correct (en anglais) -->
Code:
ErrorHandler

Cordialement
 
Dernière édition:
Non pour autant que le nom sur "On error resume" est identique à celui mentionné à la fin
Pourtant :
On Error GoTo errorhabdler
...
errordandler:
Mais ce n'est qu'une des incohérences du code posté.

Il y a aussi :
Set wsDash = thisworksbook.Sheets("dashdoard")

Et peut-être aussi :
Dim wste As worsheet
...

Set wste = ThisWorkbook.Sheets("database")
...
lastRow = wsto.Cells(wsto.Rows.Count, "A").End(xlUp).Row

Du coup, j'ai aussi un doute sur le nom de la fonction latmeric.
 
Au final, plus simple de vous remettre le code complet

Vérifiez aussi si votre feuille est bien nommée dashdoard.

Si ok et terminé, pensez à cliquer sur la case à cocher à droite (le petit V) pour fermer le fil.

VB:
Option Explicit
Sub ajoutercode()
Dim wsto As Worksheet
Dim wsDash As Worksheet
Dim lastRow As Long
Dim newID As Long
Dim lastvalue As Variant

On Error GoTo errorhandler
Set wsto = ThisWorkbook.Sheets("database")
Set wsDash = ThisWorkbook.Sheets("dashdoard")

lastRow = wsto.Cells(wsto.Rows.Count, "A").End(xlUp).Row

If lastRow < 3 Then
    MsgBox "Ajouter le code manuellement comme de :1000"
Exit Sub
End If

lastvalue = wsto.Cells(lastRow, "1").Value
If IsNumeric(lastvalue) Then
    newID = lastvalue + 1
    Else
    MsgBox "Le code trouvé dans la colonne A n'est pas numérique."
Exit Sub
End If

wsDash.Range("D1").Value = newID
Exit Sub
errorhandler:
MsgBox " An error occurred:" & Err.Description
End Sub
 
Dernière édition:
- 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
5
Affichages
509
Réponses
5
Affichages
775
Réponses
2
Affichages
701
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…