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

[VBA] Création onglets (encore...)

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

TheLio

XLDnaute Accro
Bonjour le Forum,Bonjour Tous,
Un sujet mainte fois discuté, mais je n'arrive pas à trouver mon bonheur,
  • Comment Copier un onglet "Base" autant de fois qu'une plage nommée "Sites" est renseignée dans l'onglet "Données"
  • Renommer les nouveaux onglets en fonction de cette plage.
Vous avez-dit pas très clair?
Merci pour vos lumières
A++
Lio
 
Re : [VBA] Création onglets (encore...)

Hello Catrice,
Merci pour ton exemple,
Je l'ai adapté ainsi:
Sub test()
Dim c As Range
With Sheets("Site")
For Each c In .Range("Base")
If c.Value <> "" Then
Sheets("Base_Vierge").Copy After:=Sheets(1)
ActiveSheet.Name = c.Value
End If
Next c
End With
End Sub
Merci encore
A++
Lio
 
Re : [VBA] Création onglets (encore...)

Bonjour TheLio, Catrice, le fil, le forum



Pour le fun , la même avec un tableau

Code:
[FONT=Courier New][COLOR=darkblue]Sub[/COLOR] copie_onglets()
[COLOR=darkblue]Dim[/COLOR] t [COLOR=darkblue]As[/COLOR] [COLOR=darkblue]Variant[/COLOR], i%
t = Application.Transpose([bases])
[COLOR=darkblue]For[/COLOR] i = 1 [COLOR=darkblue]To[/COLOR] [COLOR=darkblue]UBound[/COLOR](t)
[COLOR=darkblue]If[/COLOR] [COLOR=darkblue]Not[/COLOR] IsNull(t(i)) [COLOR=darkblue]Then[/COLOR]
Sheets(1).Copy After:=Sheets(1)
ActiveSheet.Name = t(i)
[COLOR=darkblue]End[/COLOR] [COLOR=darkblue]If[/COLOR]
[COLOR=darkblue]Next[/COLOR]
[COLOR=darkblue]End[/COLOR] [COLOR=darkblue]Sub[/COLOR][/FONT]
 
Re : [VBA] Création onglets (encore...)

Hello,
c'est quoi ça?



J'execute la macro tout se passe bien.
Je vire les onglets créés pour ré-executer la macro et boom.
Excel pas content 🙁

Merci pour vos lumières
A++
Lio
 
Re : [VBA] Création onglets (encore...)

Hello l'agrafe,
Je ne supprime pas la feuille conteneant le nom Base,
Et la boîte d'erreur apparaît aléatoirement,
  • des fois en pleine création d'onglets en millieu de procédure
  • des fois au début impossible d'activer la macro
Merci
A++
Lio
 
Re : [VBA] Création onglets (encore...)

Bonjour,
Pour ceux qui suivent le fil,
Avec adaptation du code et la méthode add proposée par Pierrot93
Code:
Option Explicit
Sub Copier_Feuilles()
Dim c As Range
With Sheets("2008")
For Each c In .Range("Base_Sites")
If c.Value <> "" Then
Sheets.Add After:=Sheets(Sheets.Count), Type:= _
    ThisWorkbook.Path & "\Modele.xls"
ActiveSheet.Name = c.Value
End If
Next c
End With
End Sub
Il faut enregistrer la feuille à copier dans le même répertoire dans un classeur nommé : Modele
Et là, ça défile à une vitesse incroyable, sans erreur 400 sur ola boucle.
Merci à tous.
Bonne journée
Lio
 
- 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

L
Réponses
1
Affichages
1 K
L
H
Réponses
2
Affichages
957
H
G
Réponses
0
Affichages
562
Galletosorus
G
I
Réponses
3
Affichages
2 K
Ispahan
I
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…