Controle d'une textbox dans differente feuille

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

L

lolosca

Guest
Bonjour à Tous,

J'ai un fichier qui comprend un onglet formulaire ( de base), avec plusieurs textbox qui reprenne differentes information,

je dois créer à chaque fois qu'il y a besoins un autre onglet avec un numéros de dossier (textbox) different qui se généré automatiquement, il est composé d'une autre textbox = à l'année et d'un numéros de série commencant par 0001, j'arrive à creer se numéros mais je n'arrive pas à ce qu'il soir different en fonction des dossier déjà creer.

J'ai ca comme code mais je pense que ce n'ai pas très bon, si quelqu'un peu m'aider?

Dim j As Long
Dim n As Long



With ActiveWorkbook 'Dans le classeur actif
ZT5_NumDossier = Str(ZT1_ExComp) & "0001" 'le numéro de dossier et composé de l'année comptable et de la variable i

For j = 1 To Sheets.Count
For n = 1 To 9999
If ZT5_NumDossier = Str(ZT1_ExComp) & "0001" Then
ZT5_NumDossier = Str(ZT1_ExComp) & Val("0001") + n
Else: Exit For
End If
Next n
Next j

ActiveSheet.Copy after:=Worksheets(ActiveSheet.Name) 'copie feuille en cours après la feuille en cours
ActiveSheet.Name = ZT5_NumDossier 'Renomme la feuille avec le nom du num de dossier


Merci
 
Re : Controle d'une textbox dans differente feuille

salut 😀

une tentative de réponse à travers le code commenté ci-dessous

Code:
ZT1_ExComp = 2011 'pour test
 For j = 2 To Sheets.Count 'j=2 afin d'eviter l'onglet formulaire (à adapter)
    cpt = Right(Sheets(j).Name, 4) 'recherche des 4 derniers éléments du nom de la feuille
    If cpt > Max Then Max = cpt 'comparaison avec le max
Next j
ZT5_NumDossier = Str(ZT1_ExComp) & Format(Max + 1, "0000") 'creation du nom
ActiveSheet.Copy after:=Worksheets(ActiveSheet.Name) 'copie feuille en cours après la feuille en cours
ActiveSheet.Name = ZT5_NumDossier 'Renomme la feuille avec le nom du num de dossier

a plus
 
Re : Controle d'une textbox dans differente feuille

merci hérvé,

On m'a donné une autre solution, plus a ma porté mais j'ai une erreur lors de l'éxecution du code.

Dim j As Long
Dim n As Long
Dim i As Integer
Dim k As String

k = "0001"
With ActiveWorkbook 'Dans le classeur actif
ZT5_NumDossier = Str(ZT1_ExComp) & k

For i = 2 To sheets.Count
If sheets(i).ZT5_NumDossier = ZT5_NumDossier Then
ZT5_NumDossier = ZT5_NumDossier + 1
End If
Next i

ActiveSheet.Copy after:=Worksheets(ActiveSheet.Name) 'copie feuille en cours avant la feuille en cours
ActiveSheet.Name = Active.sheet.ZT5_NumDossier

Mais lors de l'execution j'ai une erreur 438 propriété ou méthode non géré par cette objet, l'erreur apparait sur la ligne surligé, je pense que c'est à cause de sheets(i).ZT5_NumDossier mais je ne sais pas pourquoi.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
732
D
Réponses
4
Affichages
1 K
R
Réponses
3
Affichages
4 K
R
J
Réponses
3
Affichages
1 K
Jean pascal
J
Retour