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

Boucle - Création d'onglet

  • Initiateur de la discussion Initiateur de la discussion MERLIN
  • 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 !

M

MERLIN

Guest
Bonsoir à tous !!

Je n'arrive pas à créer une macro laquelle pourrait créer autant d'onglet qu'il y a de valeur dans la colonne A sans les doublons bien évidemment. (voir fichier en PJ)
L'onglet devrait porter le nom = Code & "-" & Nom.

D'avance merci car je suis encore au stade d'apprenti dans le domaine des boucles.
ET je buche dessus depuis quelques temps...
MERLIN
 

Pièces jointes

Re : Boucle - Création d'onglet

Bonjour MERLIN
Essayez cette procédure :
Code:
[COLOR="DarkSlateGray"][B]
CODE SUPPRIMÉ

Voir le message #5[/B][/COLOR]
À placer de le module de la feuille Feuil1" ou dans un module standard.​
ROGER2327
#3221
 
Dernière édition:
Re : Boucle - Création d'onglet


Bonjour ROGER2327,

Lorsque je lance la macro. J'ai le droit à ce gentil message...
"Erreur de compilation : utilisation incorrecte du mot clé Me"
 
Re : Boucle - Création d'onglet

Re...
Bonjour ROGER2327,

Lorsque je lance la macro. J'ai le droit à ce gentil message...
"Erreur de compilation : utilisation incorrecte du mot clé Me"
Normal ! J'ai commis une énorme bourde...
Code:
[COLOR="DarkSlateGray"][B]Sub toto()
Dim oDat, i&
   Application.ScreenUpdating = False
   On Error GoTo E
   With Sheets("Feuil1")
      oDat = Intersect(.Range(.Range("A2"), .Range("A2").SpecialCells(xlCellTypeLastCell)), .Columns("A:B")).Value
      On Error GoTo 0
      If IsEmpty(oDat) Then GoTo E
      For i = 1 To UBound(oDat, 1)
         If oDat(i, 1) & "-" & oDat(i, 2) <> "-" Then
            Application.Worksheets.Add After:=[COLOR="Red"]Sheets(.Name)[/COLOR]
            On Error GoTo S
            ActiveSheet.Name = Format(oDat(i, 1), "0000") & "-" & oDat(i, 2)
            On Error GoTo 0
         End If
      Next i
   [COLOR="Red"]End With[/COLOR]
E: Application.ScreenUpdating = True
Exit Sub
'
S: Application.DisplayAlerts = False
   ActiveSheet.Delete
   Application.DisplayAlerts = True
   Resume Next
End Sub[/B][/COLOR]
devrait être mieux.
Mille excuses !​
ROGER2327
#3223
 
- 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

J
Réponses
4
Affichages
841
C
Réponses
5
Affichages
1 K
Cocoraphsg
C
L
Réponses
1
Affichages
1 K
L
Z
Réponses
2
Affichages
913
Z
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…