Macro creer nouvelle ligne et nouvel onglet

jjjerome

XLDnaute Occasionnel
Bonjour le forum,
Je souhaite, à partir d'un onglet RECAP, qu'à chaque nouvelle facture, un N° de facture soit généré, et que 2 nouveaux onglets portant le N° de cette facture soit créé...
Je débute en VBA, et j'ai trouvé (grace à ce forum...) comment dupliquer un onglet (onglet Model), comment lui attribuer un N° à partir d'un champs, mais je n'arrive pas à ce que ce N° soit incrémenté automatiquement.
Par la suite, je souhaite que les champs 'contact entreprise' de l'onglet RECAP soient reporté dans le nouvel onglet facture, et que les montants de la factures soient reporté dans l'onglet RECAP.
Ci-joint, mon exemple
 

Pièces jointes

  • Va ex.zip
    24.5 KB · Affichages: 59

did85

XLDnaute Junior
Re : Macro creer nouvelle ligne et nouvel onglet

Bonjour jjjerome,
tes demandes sont vagues, et surtout il y en a plusieurs.
Ce qui me turlupine dans ton fichier joint, c'est que je ne comprends pas à quel endroit tu remplis tes données ?

Est-ce à partir de l'onglet RECAP ?
Si oui alors, il te suffit d'incrémenter après chaque clic ta valeur que tu as en C6 qui donne un numéro de devis :
Code:
Sheets("RECAP").Range("C6").Value = Sheets("RECAP").Range("C6").Value + 1
Ne voyant pas plus tes problèmes, j'en reste là pour l'instant.

Au plaisir de te lire
Bonne journée
 

vbacrumble

XLDnaute Accro
Re : Macro creer nouvelle ligne et nouvel onglet

Re, bonjour did85



Voici pour ce qui est de la création/incrémentation

A toi de continuer pour ton lien hypertexte.

Code:
Sub creatfeuille()
' recherche du numéro
numero = Val(ThisWorkbook.Sheets(Sheets.Count - 1).Name) + 1
Sheets("model").Copy after:=Sheets(Sheets.Count - 1)
With ActiveSheet
    .Name = numero 'référence
    .Range("A19") = "Factures N°" & numero     '
    .Range("B18") = Format(Date, "dd/mm/yyyy")
End With
End Sub
 

jjjerome

XLDnaute Occasionnel
Re : Macro creer nouvelle ligne et nouvel onglet

Bonjour et merci pour vos réponses,

Vbacrumble, le lien que tu m'a indiqué m'avais déjà servi pour créer mon fichier, mais je n'arrive pas à l'adapter... Pour le nouveau code, ça n'incremente pas à la suite des N° en colonne 'C' de l'onglet 'recap'.

did85, pour répondre à ta première question
je ne comprends pas à quel endroit tu remplis tes données ?
: en fait j'avais dans l'idée de remplir les données 'adresses' dans l'onglet 'RECAP' colonnes D à K (sur fond jaune)
Et les données 'Montant' depuis les nouveaux onglets "N° Commandes".
J'ai entré ton code, mais j'obtient 'model (2)'... et pas les N° de facture de la colonne C...
 

vbacrumble

XLDnaute Accro
Re : Macro creer nouvelle ligne et nouvel onglet

Re


J'ai précisé que le code en l'état ne concernait que la création/incrémenttaion du numéro de facture.

Voici pour ce qui est de la création/incrémentation

A toi de continuer pour ton lien hypertexte.

Donc à toi de prendre la suite (avec l'aide des autres gens du forum)
 

did85

XLDnaute Junior
Re : Macro creer nouvelle ligne et nouvel onglet

Me revoici,
il est normal que tu aies eu ceci :
J'ai entré ton code, mais j'obtient 'model (2)'... et pas les N° de facture de la colonne C...
Parce que le code envoyé ne faisait que l'incrément et non pas la copie de ton modèle en fonction de l'incrémentation. Comme le nom 11 existait déjà sur une feuille, il a repris le nom "model" qu'excel a indicé en valeur 2.

Je te joins le fichier modifié avec les commentaires pour que tu vois ce que ça peut donner.

Modif apportée :

1) Je t'ai supprimé la ligne qui donnait le nom à ton onglet et remplacé par une autre ligne qui prend en charge le numéro dans l'onglet RECAP en C6
2) Je t'ai placé la ligne d'incrémentation du numéro de la prochaine facture.
3) Création d'une variable qui va récupérer le nom de la feuille nouvellement créée.
3) Je t'ai supprimé ton lien hypertexte et remplacé par un autre qui reprend le nom de l'onglet précédemment créé afin que tu puisses te "téléporter" directement sur l'onglet correspondant.

Ce qui n'est pas fait :
- la gestion des 2 feuilles factures qui n'est pas clair puisque l'on ne peux pas pas nommer 2 feuilles avec le même nom.
Il faut que tu voies pour leur donner un nom différent ex F12 (pour facture) et C12(pour Copie)
Je ne sais pas, à toi de voir.

Cordialement
 

Pièces jointes

  • Va ex_II.zip
    26.4 KB · Affichages: 57

jjjerome

XLDnaute Occasionnel
Re : Macro creer nouvelle ligne et nouvel onglet

Ok, excellent !!!
Tu as supprimé presque tout les codes sur lesquels je m'énervais depuis bien longtemps, mais l'essentiel c'est que ça marche, alors MERCI !

Je pensais pouvoir adapter ce code pour completer les donnees 'adresse' et 'montants' mais ce n'est plus le même principe, alors je vais encore avoir besoin d'aide...
j'éspère ne pas trop abuser...
Ex pour la partie 'adresse' :
Range("I6") = ??? 'la valeur de la colonne G correspondant à la ligne du N° de la facture
...
Ex pour la partie 'montants' :
.Range("m" & dl1).Value = ??? ' Range("K26") de la facture corespondante


Autre question, est ce que le code
For i = 1 To 100
va me limiter à 100 Onglets ? Si oui, est-il possible d'augmanter cette valeur ? (j'ai essayé de la modifier, et j'obtient des résultats "bizarre")
 

did85

XLDnaute Junior
Re : Macro creer nouvelle ligne et nouvel onglet

Bonsoir,
j'ai avancé sur ton fichier.

Le début du code concernant
Code:
For i =1 to 100
ne sert à rien, en tout cas je ne vois pas l'intérêt puisque on fait une recherche dont on ne se sert pas ensuite.

J'ai donc apporté des modifications dans ton fichier.

J'ai mis des annotations dans le code, essaye de comprendre la façon avec laquelle je mets les formules dans les cases de tes 2 feuilles : RECAP et ta nouvelle facture.

Comme ça si tu modifies une données dans une feuille dans laquelle tu n'as pas de formule, tu verras "normalement" l'effet sur l'autre feuille.

bonne soirée
 

Pièces jointes

  • Va ex_3.zip
    28.5 KB · Affichages: 63

jjjerome

XLDnaute Occasionnel
Re : Macro creer nouvelle ligne et nouvel onglet

Merci did85, c'est tout a fait ça !

Dernière petite chose, y a t il un code pour avoir le 'total honoraires' et 'total frais' systematiquement 4 lignes sous la dernière valeur (dans onglets factures, quelque soit le nombre de lignes) ?
 

Discussions similaires

Statistiques des forums

Discussions
312 329
Messages
2 087 324
Membres
103 516
dernier inscrit
René Rivoli Monin