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

Creer fiche client

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;
Sur une feuille J'inscrit un nouveau client. Je voudrais qu'à la suite de cettte opération qu'une fiche (feuille) soit alors crée et qui porte le nom du client que je viens d'inscrire.
J'ai vu ici quelques solutions mais ca ne fonctionne pas. Probablement que je ne travaille pas correctement.
Je vous inclus un fichier exemple Clients_01.xls
Merci de votre attention et bonne journée
Michel
 

Pièces jointes

Re : Creer fiche client

Bonsoir michelexcel,

tu peux utiliser cette macro, en prenant soin de sélectionner la cellule contenant le nom que tu veux donner à ta feuille :

Sub Macro1()

a = ActiveCell

Sheets.Add
ActiveSheet.Name = a
Sheets("Feuil1").Select
End Sub
 
Re : Creer fiche client

Bonjour Lionel;
Merci de ta réponse rapide. J'ai pris note de ta macro. Je crois que cela va fonctionner. Je le teste ce soir et je t'en donnerai des nouvelles.
Encore une fois Merci et bonne journée
Michel Quebec
 
Re : Creer fiche client

Bonjour Michel, Lionel

Peut être comme ci dessous :

Code:
Sub ajout_clients()
Dim p As Range
    Set p = ActiveCell
    Sheets.Add , Sheets(Worksheets.Count)
    ActiveSheet.Name = p.Value
End Sub

Dans l'exemple ci dessous le nom est repris de la cellule active, à adapter éventuellement.

bonne journée
@+
 
Re : Creer fiche client

Salut michelexcel
Bonjour le fil
Bonjour le Forum
voilà ce que l'on pourrait aussi faire
Code:
Sub Creer_Feuille_Client()
Dim VarNom As String
With Worksheets("Feuil1")
   VarNom = .Range("A" & .Range("A65536").End(xlUp).Row).Value
End With
  Worksheets.Add After:=Worksheets(Sheets.Count)
   ActiveSheet.Name = VarNom
End Sub
Bonne journée
 
Re : Creer fiche client

Bonjour Pierrot et Jean-Marie;
Un gros Merci pour votre intervention. En ce moment je suis au travail mais j'ai drôlement hâte d'arriver chez-moi pour vérifier vos solutions. Je vous en donnerai des nouvelles ce soir.
Encore une fois Merci beaucoup
Michel
 
Re : Creer fiche client

Un autre bonjour à Lionel et Jean-Marie;
Oups le boss sorti et je saute sur Excel pour tester vos réponses et Super vous gagnez chacun un prix...

Les deux fonctionnent et en plus l'un demande à ce que la cellule soit pointée ce qui va m'être vraiment utile dans un autre module et l'autre formule est automatique par macro. En ce moment j'apprend beaucoup sur Excel et Vba en montant un programme complet de gestion.

Donc je règle deux problemes à la fois. Je vous dois une fière chandelle. J'ai étudié vos formules pour bien saisir le processus. Puis-je me permettre une autre petite question.

La nouvelle feuille crée par vos formule va porter le nom par exemple d'une compagnie. Souvent leurs noms peuvent être assez long et Excel limite les caractères à 31, incluant les espaces. Comment, en créant cette nouvelle feuille, puis-je dire à Excel d'extraire par exemple seulement les 10 premiers caractères qui deviendront le nom de la nouvelle feuille ?

La deuxième et dernière question je vous le jure 🙂 En utilisant toujours vos formules, est-ce que je peux créer quelque chose qui vérifierait si ce nom existe déjà et si oui demander que l'usager entre un autre nom ?

Car je viens de vérifier et si le nom existe déjà alors Excel me saute sur le dos avec un message d'erreur 🙂

Encore une fois un gros merci. J'avais tellement essayé et j'étais rendu avec des formules incroyables qui ne fonctionnaient toujours pas.

Bonne journée à vous deux

Michel
 
Re : Creer fiche client

Re Michel, bonsoir Lionel, Jean Marie

Peut être une solution comme ci dessous à tester et à adapter :

Code:
Sub ajout_clients()
Dim p As Range, ws As Worksheet, MonNom As String
Set p = ActiveCell
MonNom = Mid(p.Value, 1, 10)
Sheets.Add , Sheets(Worksheets.Count)
    For Each ws In Worksheets
        If ws.Name = MonNom Then MonNom = InputBox("Donner un nom")
    Next ws
ActiveSheet.Name = MonNom
End Sub

bonne soirée
@+
 
Re : Creer fiche client

Bonjour Pierrot et tous ceux qui vont lire le message;
Merci beaucoup de ton aide, je l'apprécie.
J'ai testé ta solution mais hélas il génère un message d'erreur suivant:
"ActiveSheet.Name = MonNom"
Peut-etre que je ne fais pas quelque chose de correct. Dans la cellule A1 j'ai inscrit un nom puis idem pour A2 A3 B1 B2 B3 et j'exécute la macro. Rien à faire...
Si tu as une autre idée...
Merci beaucoup et je te souhaite une belle journée
Michel
 
Re : Creer fiche client

Re Michel

écoute je comprend pas, je viens de re tester mon code sur le 1er fichier que tu avais joins et chez moi ca marche.

Je me positionne sur la cellule A3 de la feuille 1, je lance la macro, la feuille s'insére et se nomme bien.

Je me repositionne sur la cellule A3 de la feuille 1, comme le nom existe déjà la boite de dialogue s'affiche, je tape un autre nom et ca marche aussi...

mais attention la macro ne boucle pas sur tes cellules :

Peut-etre que je ne fais pas quelque chose de correct. Dans la cellule A1 j'ai inscrit un nom puis idem pour A2 A3 B1 B2 B3 et j'exécute la macro. Rien à faire...


@+
 
Re : Creer fiche client

Bonsoir Pierrot
Oui la macro fonctionne très bien. Par contre si j'inscris par erreur un client qui existe déjà alors une fenêtre apparait pour y inscrire un nouveau nom et si je clique ANNULER c'est à ce moment que le programme plante et met en jaune "ActiveSheet.Name = MonNom".

Il doit avoir une façon de corriger cela. Je vais faire des essaies. Je vais chercher dans le forum. Si tu as une idée alors je ne dirais pas non.

Merci beaucoup
Amitiés
Michel
 
Dernière édition:
Re : Creer fiche client

Bonjour Michel,

Ci dessous le code modifié avec une boucle sur la boite de dialogue t'obligeant à saisir un nouveau nom...

Code:
Sub ajout_clients()
Dim p As Range, ws As Worksheet, MonNom
Set p = ActiveCell
MonNom = Mid(p.Value, 1, 10)
Sheets.Add , Sheets(Worksheets.Count)
    For Each ws In Worksheets
        If ws.Name = MonNom Then
            Do While ws.Name = MonNom Or MonNom = "" Or MonNom = False
                MonNom = Application.InputBox("Quel nom pour cette feuille", "Nom déjà existant ", , , , , , 3)
            Loop
        End If
    Next ws
ActiveSheet.Name = MonNom
End Sub

Bonne journée
@+
 
- 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

M
Réponses
6
Affichages
1 K
maxime45
M
A
Réponses
11
Affichages
2 K
A
M
Réponses
9
Affichages
1 K
M
T
Réponses
2
Affichages
2 K
Tibooo
T
B
Réponses
16
Affichages
2 K
K
Réponses
6
Affichages
3 K
A
  • Question Question
Réponses
3
Affichages
2 K
N
Réponses
2
Affichages
2 K
Nicolaij74
N
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…