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 !

michelexcel

XLDnaute Occasionnel
Bonjour à tous,
Je copie une facture vers le classeur "Archives", nouvelle feuille.
Le numéro de fact est en A1 (ex 23).
Comment faire pour que l'onglet de cette feuille porte le nom "23".
.
J'ai tout tenté même avec macro recorder mais ca ne fonctionne pas.
Ne me dites pas de cliquer sur l'onglet et le renommer car tout se fait à partir d'une macro dans mon classeur Facturation.
Merci de votre attention
Michel
 
Re : Onglet

Bonsoir

Voici une début de réponse à adapter


'si designation vide

' on vérifie que le nom existe
' pas de nom de fichier

If sheets("machin").range("A1") = "" Then
Msg = " Nom de fichier SVP"
Style = vbYes + vbCritical
' Affiche le message pour validation.
Reponse2 = MsgBox(Msg, Style, Title1)
erreur = 1
GoTo sortierreur
End If

' on vérifie que le nom de l'onglet n'existe pas
'verification du nom de fichier
For Each Sh In Worksheets
If Sh.Name = sheets("machin").range("A1") Then
Msg = " le fichier existe déja"
Style = vbYes + vbCritical
' Affiche le message pour validation.
Reponse2 = MsgBox(Msg, Style, Title1)
erreur = 1
GoTo sortierreur
End If
Next Sh

après ces controles on recopie un modèle que l'on renomme

If sheets("machin").range("A1") <> "" Then
With Sheets("model")
.Copy after:=Sheets(Sheets.Count)
' On Error GoTo PbNomFeuille
ActiveSheet.Name = sheets("machin").range("A1")

End With

JP
 
Re : Onglet

Bonsoir Michelexcel, JP14 et le forum,

Si ta feuille active est la feuil1 "Sheets(1)"tu peux mettre tout simplement cette ligne dans ta macro:, autrement si feuil2 mettre "sheets(2)".


Sheets(1).Name = Range("A1")

Bon test
 
Re : Onglet

Bonjour,
Merci pour ta réponse. Hélas je connais déjà cette formule mais ça ne fonctionne pas car justement je ne connais pas le nom de la feuille. Je m'explique:

Quand je fais une facture, j'envoie une image de cette facture dans un autre classeur "Archives".

Et là le problème: Quand l'image de la facture arrive dans ce classeur, ce classeur créé une nouvelle feuille pour recevoir l'image. Donc je ne peux pas définir le nom à l'avance.

J'ai pratiquement tout tenté et aussi avec le macro recorder.
Je te donne un exemple
.--------
Dim nom as string
nom=sheets("feuil1").range("g2").text ' g2 étant le no facture
sheets.add.name=nom
.-----------
Cette formule fontionne très bien car je l'ai adapté à mon programme.

Mais le nom=sheets("feuil1") il faut qu'il devienne: nom=sheets("Mon Numéro de Facture")

Alors voila et à l'Aide !!!
Merci beaucoup.
Michel
 
Re : Onglet

Bonjour

Une piste :
Faire une macro qui vérifie le nom de tous les feuilles, si le nom de l'onglet est différent de la valeur contenue dans " Range("A1")" on renomme l'onglet avec cette valeur, sinon on ne fait rien.

JP
 
Dernière édition:
Re : Onglet

salut à tous

je ne suis pas sur d'avoir compris mais je vais essayer

tu dois surement ajouter une feuille dans tes archives.

Voici donc une idee différente que j'ai vu sur le forum

au lieu de creer une nouvelle feuille, tu copie une feuille nommée "MODELE".
le nouvelle feuille aura le nom de "MODELE 2" que tu pourra renommeé à l'aide d'une macro

voici l'exemple que j'ai piqué

salutations
 

Pièces jointes

Re : Onglet

Bonjour tout le monde;
Merci à JP14 et Wilfried42 pour vos suggestions. effectivement ce je cherche c'est bien ajouter une feuille dans mes archives.
Je crois que ça va fonctionner. Je reviendrai vous faire part du résultat.
Encore une fois merci beaucoup
Michel
 
- 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

  • Question Question
Microsoft 365 Publipostage WORD
Réponses
2
Affichages
1 K
Retour