• Initiateur de la discussion Initiateur de la discussion Damien
  • Date de début Date de début

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 !

D

Damien

Guest
Bonjour,
Vous aimez résoudre les problèmes, ehbien en voila un !
je crée une nouvelle feuille qui porte le nom entré par l'utilisateur dans une imputbox.
Des lignes viennent se coller d'une autre feuille, vers cette nouvelle feuille.
Ca fonctionne avec le code suivant (meme s'il n'est pas ecrit avec une extreme purete! 🙂 ):

Private Sub EnregistrerMesQuantités_Click()
Dim StrMonCode As String
StrMonCode = InputBox("Quel est votre code?")
Sheets.Add.Name = StrMonCode
Sheets("Bon").Activate
Rows("27:4000").Select
Selection.Copy
Sheets(StrMonCode).Select
ActiveSheet.Paste
MsgBox "Les quantités ont bien été enregistrées"
Sheets("Bon").Select
MesInfos.Hide
End Sub

Mon problème est maintenant de gérer une erreurs qui pourrait se produire :
-Si le nom entré ds l'imputbox existe déja, il faut alors qu'il enregistre les données sur la feuille existant déja, et donc qu'il ne crée pas de nouvelle feuille.
-
 
salut.

g pas tester donc il peux rester des erreurs 🙂

Private Sub EnregistrerMesQuantités_Click()

Dim StrMonCode As String
StrMonCode = InputBox("Quel est votre code?")

For i = 1 To ActiveWorkbook.Sheets.Count
If ActiveWorkbook.Sheets(i).Name = StrMonCode Then
ActiveWorkbook.Sheets(i).Activate
GoTo suite
End If
Next i

Sheets.Add.Name = StrMonCode
suite:
Sheets("Bon").Activate
Rows("27:4000").Select
Selection.Copy
Sheets(StrMonCode).Select
ActiveSheet.Paste
MsgBox "Les quantités ont bien été enregistrées"
Sheets("Bon").Select
MesInfos.Hide
End Sub
End Sub
 
Merci pour l'info !
Mais ca bloque au niveau de la ligne 10 (Sheets(StrMonCode).Select) et ducoup il me copie la feuille dans un nouveau fichier ???
j'comprends pas ...help !

Private Sub EnregistrerMesQuantités_Click()
Dim StrMonCode As String
StrMonCode = InputBox("Quel est votre code?")
For i = 1 To ActiveWorkbook.Sheets.Count
If StrMonCode = ActiveWorkbook.Sheets(i).Name Then
GoTo suite
End If
Next i
Sheets.Add.Name = StrMonCode
suite:
Sheets("Bon").Copy
Sheets(StrMonCode).Select
ActiveSheet.Paste
MsgBox "Les quantités ont bien été enregistrées"
Sheets("Bon").Select
MesInfos.Hide
End Sub
 
Bonsoir Damien et Arnaud,

Peut-être pourrais-tu essayer le code ci-dessous :

Private Sub EnregistrerMesQuantités_Click()
Dim StrMonCode As String
Dim Feuil As Worksheet
Dim FeuilExiste As Boolean

StrMonCode = InputBox("Quel est votre code?")

For Each Feuil In ThisWorkbook.Sheets
If Feuil.Name = StrMonCode Then
FeuilExiste = True
Exit For
End If
Next Feuil
If Not FeuilExiste Then Sheets.Add.Name = StrMonCode

Worksheets("Bon").Rows("27:4000").Copy
Worksheets(StrMonCode).Paste
MsgBox "Les quantités ont bien été enregistrées"
Sheets("Bon").Select
MesInfos.Hide
End Sub

Cordialement.
Didier
 
ca marche merci ! (quel talent)
seul truc...
j'ai voulu remplacer :
Worksheets("Bon").Rows("27:4000").Copy
par :
Worksheets("Bon").Copy
pensant qu'i allait ducoup copier tte la page, mais la ca bug a la ligne suivante :
Worksheets(StrMonCode).Paste

Comment je peux faire pour obtenir le meme résultat qu'avec la superbe formule de mDF, mais en faisant copier toute la page.

merci , merci et encore merci !
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
1
Affichages
800
Retour