Macro Excel copier et implémenter une cellule chaque fois

Bonjour,

je souhaite ajouter automatiquement des feuilles dans mon classeur Excel de demande d'achat, en partant d'une copie de l'original vide (1ere feuille) et en incrémentant automatiquement chaque fois le nom de la feuille (format numérique), numéro de la demande d'achat (Cellule F5) et date de création de la feuille (Cellule C5). mes recherches m'ont permis d'avoir la macro en PJ qui me donnent des solutions acceptables, sauf pour l'incrémentation automatique du numéro de la demande d'achat (Cellule F5). Pouvez-vous m'aider à avoir un code pour ce problème?

Sub NouvelleDA()
Dim s As String
Dim i As Integer
  s = _
InputBox("Veuillez saisir le numéro de la DA!", _
"Attribuer des noms de feuille", "Feuil1")
If s = "" Then Exit Sub
  i = Sheets.Count
  On Error Resume Next
  Sheets(1).Copy After:=Sheets(i)
  ActiveSheet.Name = s
  Range("C5").Value = Now()

End Sub
4fichier-da.xlsm (47.70 Ko)

Bonjour Hervé alias 2.1.0.0 et

Une petite présentation ICI serait la bienvenue

Si vous ne l'avez pas encore fait, je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER]
qui vous aidera dans vos demandes et réponses sur ce forum

Ainsi que sur les fonctionnalités (Nouveau Forum au bas de page notamment)

Sinon, voici un code qui devrait répondre à votre demande

Sub NouvelleDA()
  Dim Num As Long, i As Integer
  Dim sNum As String
  Dim Sht As Worksheet
  ' Initialiser les variables
  i = 1:    Num = Sheets(1).Range("F5"): sNum = Num
  ' En cas d'erreur on continue
  On Error Resume Next
  ' Définir la feuille avec le numéro 1
  Set Sht = Sheets(sNum)
  ' Tant qu'il n'y a pas d'erreur
  Do While Err.Number = 0
    ' On incrémente
    i = i + 1: Num = Num + 1: sNum = Num
    ' On définit la nouvelle feuille
    Set Sht = Sheets(sNum)
  Loop
  ' Erreur
  On Error GoTo 0
  ' On copie la 1ère feuille
  Sheets(1).Copy After:=Sheets(i - 1)
  ' On donne le dernier numéro calculé
  ActiveSheet.Name = sNum
  '
  Range("C5").Value = Now()
End Sub

Merci de votre participation

Cordialement

Nota : utilisez le centre de confidentialité d'Excel pour effacer les informations personnelles

Merci déjà pour ta réaction rapide BrunoM45

J'ai essayé ton code, il crée la nouvelle feuille avec le bon nom avec succès. pour la date je pense que c'est bon aussi. mais mon problème est toujours pas vraiment résolu: il n'incrémente pas la Cellule F5. la cellule F5 doit avoir le même numéro que le nom de la feuille.

Merci d'avance et merci pour les remarques sur la confidentialité.

Re,

C'est pourtant simple

' On donne le dernier numéro calculé
  ActiveSheet.Name = sNum
  Range("F5").Value = sNum
  Range("C5").Value = Now()

Je savais, je voulais juste vérifier si toi aussi tu sais.

c'est juste une blague.

Merci infiniment, ca marche du tonnerre. espérons maintenant que la dame des achats me laisse tranquille

MERCI...

Rechercher des sujets similaires à "macro copier implementer chaque fois"