comment faire ce code????

A

Audrey

Guest
Bonjour le forum,

Voilà dans mon appli j'ai un code ce n'est pas moi qui l'ai fais mais quelqu'un qui m'a aidé dans un autre fil.

Mais le problème et que maintenant, je voudrais le reproduire pour une autre application et je sais pas comment faire. Quelqu'un pourrait m'aider??

D'avance, merci beaucoup.

PbNomFeuille:
i = 0
Do
i = i + 1
ShExist = False
For Each Sh In Worksheets
If Sh.Name = TextBox2 & '(' & i & ')' Then ShExist = True
Next Sh
Loop While ShExist
ActiveSheet.Name = TextBox2 & '(' & i & ')'
Resume Next
Unload menu
End Sub
 

Abel

XLDnaute Accro
Re,

Petit complément.
Voici ce que dit l'aide à propos de Resume Next :

Si l'erreur s'est produite dans une procédure contenant le gestionnaire d'erreurs, l'exécution reprend à partir de l'instruction qui suit immédiatement celle qui a provoqué l'erreur. Si l'erreur s'est produite dans une procédure appelée, l'exécution reprend à l'instruction qui suit immédiatement la dernière instruction ayant appelé la procédure contenant la routine de gestion d'erreur (ou l'instruction On Error Resume Next).

Abel.

Edition :
Donc, à priori, Resume Next 'tout seul' est à utiliser si tu a une gestion des erreurs.

Message édité par: Abel, à: 24/02/2006 11:21
 

jp14

XLDnaute Barbatruc
Bonjour

Resume next
permet de retourner à l' instruction origine de l'erreur à savoir ( cf macro d'origine)

On Error GoTo 0
Range('C9') = TextBox1.Value ' Désignation
Range('c10') = TextBox2.Value ' référence
Range('h11') = TextBox3.Value ' Stock limite
Range('c11') = TextBox4.Value ' Véhicule concerné
End With
 
A

Audrey

Guest
RE,

Merci abel, ça fonctionne.

Néanmoins, il reste une petite chose:
le code en entier permet de créer un onglet ayant le nom de la textbox si celui-ci n'existe pas.
L'onglet se crée bien mais le nom l'onglet correspond à la textbox + (1).

Dans l'autre code lorsque je fais la même manip ce (1) n'apparaît pas.... Tu sais pourquoi??

Merci.
 
A

Audrey

Guest
Bonjour JP14,

Le problème est que je ne suis plus dans cette appli là et qu'en essayant de reprende ce code j'ai eu l'erreur dont je parlais précédement.

En fait je pense que le problème vient réellement de & '(' & i & ')' ce doit être un lien vers quelque chose non?

ou alors peut-être que puisque je les ai ailleurs il faut que j'utilise autre chose que des i?

:( en fait je sais pas du tout ce qui faut que je fasse....
 

jp14

XLDnaute Barbatruc
Bonjour

Dans l'application précédente cette partie de code servait à créer une feuille dont le nom existait déja avec le même nom suivi d'un indice.

si la feuille dfg existait, la feuille dfg(1) était crée { & '('&i')' }.

Cette partie de macro était activé par l'erreur générée lors de la création d'une feuille avec un nom qui existait
With Sheets('model')
.Copy after:=Sheets(Sheets.Count)
On Error GoTo PbNomFeuille
 
A

Audrey

Guest
RE,

si on reprend le code entier:
je copie la feuille 'model' que je nomme suivant la textbox,
si le nom existe déjà, je nomme la feuille avec ce nom + un indice,
je crois que c'est ça.

Et tant que j'y pense est-ce qu'il est possible de modifier le code pour que ça ne crée pas la feuille avec l'indice mais qu'un lessage soit envoyé pour dire que la fiche existe déjà?
 

jp14

XLDnaute Barbatruc
Bonjour

Ci joint le fichier avec le code modifié

Bon W.E. [file name=gestionstock5.zip size=38218]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/gestionstock5.zip[/file]
 

Pièces jointes

  • gestionstock5.zip
    37.3 KB · Affichages: 20

Discussions similaires

Réponses
6
Affichages
285

Statistiques des forums

Discussions
312 480
Messages
2 088 757
Membres
103 950
dernier inscrit
Thomas Solioz