Creation automatique d'onglet et transfert d'information

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 !

lancelot93

XLDnaute Nouveau
Bonjour à tous..
suite à de nombreuses lectures sur le forum j'ai déjà pu avancer dans mon problème..
Mais il me reste à conclure...

J'ai un onglet avec une "liste " de 3 colonnes:

Nom Fonction Service
Toto Fonction 1 Ser1
Tata Fonction 2 Serv2
...

Et cela pour plusieurs noms.

Ensuite dans un 2ème onglet, j'ai rédigé un "modèle" de document qui devra être rempli à chaque fois avec le nom, le service et la fonction.


Pour l'instant j'arrive, avec une macro, à générer autant d'onglet basés sur mon onglet "modèle"que de nom dans la "liste" de départ et surtout à nommer ces nouveaux onglets en fonction de toto, tata..etc...


Mais là où j'ai besoin d'aide c'est pour remplir ces nouveaux onglets avec les information de "liste" à savoir service et fonction qui sont propre à chaque tata.


Bref, mon objectif:

x onglets nommés toto, tata,.. basés sur un "modèle" et chacun des nouveaux onglets doit avoir des cellules reprenant les informations de service et de fonctions...


Mon classeur sera donc composé de:
  1. onglet liste
  • onglet modele

  • onglet nommé toto
cellule A1: toto
cellule A2: Fonction1
cellule A3: Serv1


  • onglet nommé tata
cellule A1: tata
cellule A2: Fonction2
cellule A3: Serv2

...


Merci beaucoup de votre aide!!

J'ai pensé à différents solutions mais au vue du nombre de personnes élevés dans ma liste ainsi que des services et fonctions..Je préfère réaliser une macro pour automatiser cela...car dans mon onglet "liste" tout peut varier...

Pierre
 

Pièces jointes

Dernière édition:
Re : Creation automatique d'onglet et transfert d'information

bonjour Pierre,

regarde si ce code te conviens

Code:
Sub test()
Dim modele As Worksheet, newSheet As Worksheet, curCell As Range
With ThisWorkbook
    Set modele = .Sheets("Modele-etudiant")
    Set curCell = .Sheets("Liste etudiants").Range("C6")
    While curCell.Value <> vbNullString
        modele.Copy after:=.Sheets(.Sheets.Count)
        Set newSheet = .Sheets(.Sheets.Count)
        newSheet.Name = curCell.Value
        newSheet.Range("O6").Value = curCell.Value
        newSheet.Range("O8").Value = curCell.Offset(0, 4).Value
        newSheet.Range("O10").Value = curCell.Offset(0, 2).Value
        Set curCell = curCell.Offset(1, 0)
    Wend
End With
End Sub

a+
 
Re : Creation automatique d'onglet et transfert d'information

Bonjour...
et merci de cette réponse parfaite et rapide!

Je suis bluffé...Je n'ai aucune compétence en VBA et là tu m'aides vraiment très bien!!
C'est exactement ce que je voulais!!
Maintenant je vais essayer de comprendre comment ça marche! histoire d'apprendre quelque chose!!


Un grand merci!!

Pierre
 
Re : Creation automatique d'onglet et transfert d'information

bonjour Pierre,

regarde si ce code te conviens

Code:
Sub test()
Dim modele As Worksheet, newSheet As Worksheet, curCell As Range
With ThisWorkbook
    Set modele = .Sheets("Modele-etudiant")
    Set curCell = .Sheets("Liste etudiants").Range("C6")
    While curCell.Value <> vbNullString
        modele.Copy after:=.Sheets(.Sheets.Count)
        Set newSheet = .Sheets(.Sheets.Count)
        newSheet.Name = curCell.Value
        newSheet.Range("O6").Value = curCell.Value
        newSheet.Range("O8").Value = curCell.Offset(0, 4).Value
        newSheet.Range("O10").Value = curCell.Offset(0, 2).Value
        Set curCell = curCell.Offset(1, 0)
    Wend
End With
End Sub

a+



Si jeux peux me permettre..
comment garder la casse des cellules de mon 1ere onglet: "liste"
 
- 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

Réponses
4
Affichages
144
Réponses
1
Affichages
132
Retour