Microsoft 365 Remplir des cellules automatiquement

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 !

Fanny53

XLDnaute Nouveau
Supporter XLD
Bonjour, j’ai un classeur Excel, qu’une personne ma fait, car je ne connais pas du tout Excel.
Remplir les cellules est la seule chose que je sache faire.

Ma question Existe-t-il une formule ou une Macro qui puisse remplir automatiquement les champs d’une feuille à partir d’une autre feuille automatiquement.
Merci d’avance pour votre aide.
 
Oups! je n'avais pu vu ce post !!!
'''Pour la feuille "Données" il paraît plus logique de trier sur les 2 colonnes B (ARTISTE) et D (JUKE) celle-ci en ordre décroissant'''''
Oui et si vous aviez utilisé le fichier de mon post #44 vous n'auriez eu aucun problème avec "Gene Vincent".
 

Pièces jointes

Il est plus logique de tout faire avec cette macro évènementielle dans le code de la feuille "Etiquettes ROCK" :
VB:
Private Sub Worksheet_Activate()
Dim s As Shape, i&
Application.ScreenUpdating = False
With Sheets("Données").ListObjects(1).Range 'tableau structuré
    .Sort .Columns(2), xlAscending, .Columns(4), , xlDescending, Header:=xlYes 'tri sur 2 colonnes
End With
[C2:G2].ShrinkToFit = True: [I2:M2].ShrinkToFit = True 'commande Ajuster
[D3:F3].ShrinkToFit = True: [J3:L3].ShrinkToFit = True 'commande Ajuster
[C4:G4].ShrinkToFit = True: [I4:M4].ShrinkToFit = True 'commande Ajuster
For Each s In Me.Shapes
    If s.TopLeftCell.Row > 3 Then s.Delete 'RAZ
Next s
Rows("5:" & Rows.Count).Delete 'RAZ
For i = 3 To Application.Max(Sheets("Données").Columns(5)) Step 2
    Rows("1:4").Copy Rows(2 * i - 1) 'copier-coller
Next i
End Sub
Elle se déclenche quand on active la feuille.
 

Pièces jointes

La macro du post #47 me plaisait à moitié car elle provoquait un clignotement des flèches.

Avec celle-ci il n'y a plus de clignotement :
VB:
Private Sub Worksheet_Activate()
Dim s As Shape, i&
Application.ScreenUpdating = False
With Sheets("Données").ListObjects(1).Range 'tableau structuré
    .Sort .Columns(2), xlAscending, .Columns(4), , xlDescending, Header:=xlYes 'tri sur 2 colonnes
End With
[C2:G2].ShrinkToFit = True: [I2:M2].ShrinkToFit = True 'commande Ajuster
[D3:F3].ShrinkToFit = True: [J3:L3].ShrinkToFit = True 'commande Ajuster
[C4:G4].ShrinkToFit = True: [I4:M4].ShrinkToFit = True 'commande Ajuster
For Each s In Me.Shapes
    If s.TopLeftCell.Row > 3 Then s.Visible = False 'repérage des Shapes existantes
Next s
Me.DrawingObjects.Placement = 2 'déplacer sans dimensionner avec les cellules
Rows("5:" & Rows.Count).Delete 'RAZ
For i = 3 To Application.Max(Sheets("Données").Columns(5)) Step 2
    Rows("1:4").Copy Rows(2 * i - 1) 'copier-coller
Next i
For Each s In Me.Shapes
    If s.Visible = False Then s.Delete 'RAZ
Next s
End Sub
Edit important : j'ai aussi modifié la formule en Données!E6 :
Code:
=SI([@JUKE]="ROCK";MAX($E$1:$E5)+MOD(NB.SI(B$5:B6;B6);2);"")
Cela limite à 2 les apparitions d'un même numéro, ce qui permet d'afficher tous les "ROCK" d'un même artiste.
 

Pièces jointes

Dernière édition:
Bonjour Fanny53, le forum,

En colonne B de la feuille "Données" il y a 179 textes qui se terminent par un espace.

Il faudrait les corriger car cela peut perturber la numérotation en colonne E.

Par exemple avec cette macro :
VB:
Sub Epurer()
Dim c As Range
For Each c In [B6:B1288]
    c = Application.Trim(c) 'SUPPRESPACE
Next
End Sub
A+
 
Bonjour Job75,
et merci pour toutes les améliorations apportées à ce fichier.

Il y a actuellement 179 textes qui se terminent par un espace, ce sont donc des erreurs de saisie… et ce n’est pas terminé puisque j’ai encore pas mal de titres à rentrer.

Vu mes faibles connaissances, j’espère ne pas avoir fait de bêtise.
Voilà ce que j’ai fait : j’ai ouvert l’éditeur VBA, puis Insertion Module.
Une fenêtre s’est ouverte, j’y ai collé le code de la macro, puis j’ai refermé l’éditeur VBA.

Est-ce bien comme cela qu'il fallait fallait faire ?
 

Pièces jointes

Dernière édition:
Excusez-moi, Job, d’abuser de votre temps, mais auriez-vous la possibilité de supprimer tout ce qui concerne la partie ROCK (macros, feuille) dans mon fichier Disque 45 tours complet ?
Si je le fais moi-même, j’ai bien peur qu’il ne fonctionne plus correctement par la suite.
Merci d’avance.
 

Pièces jointes

Merci pour votre travail sur le fichier Test Disques-Numerique .

Concernant le fichier Disques-45-tours-Complet , Je comprend tout a fait que vous ne préférer pas y toucher, ce fichier a été enrichi au fil du temps par plusieurs personnes du forum que je remercie, ce qui explique la coexistence de macros et de formules.
 
Bonjour Fanny55, le forum,

En appliquant ce que j'ai fait précédemment j'ai revu votre dernier fichier.

Formule en Données!F6 à adapter en G6 H6 I6 :
VB:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Not Sh.Name Like "Etiquettes *" Then Exit Sub
Dim col As Range, s As Shape, i&
Application.ScreenUpdating = False
With Sheets("Données").ListObjects(1).Range 'tableau structuré
    .Sort .Columns(2), xlAscending, .Columns(5), , xlAscending, Header:=xlYes 'tri sur 2 colonnes
    Set col = .Columns(Application.Match(Trim(Split(Sh.Name)(1)), .Rows(1), 0))
End With
Sh.[C3:G3].ShrinkToFit = True: Sh.[I3:M3].ShrinkToFit = True 'commande Ajuster
Sh.[D4:F4].ShrinkToFit = True: Sh.[J4:L4].ShrinkToFit = True 'commande Ajuster
Sh.[C5:G5].ShrinkToFit = True: Sh.[I5:M5].ShrinkToFit = True 'commande Ajuster
For Each s In Sh.Shapes
    If s.TopLeftCell.Row > 4 Then s.Visible = False 'repérage des Shapes existantes
Next s
Sh.DrawingObjects.Placement = 2 'déplacer sans dimensionner avec les cellules
Rows("6:" & Rows.Count).Delete 'RAZ
For i = 3 To Application.Max(col) Step 2
    Rows("2:5").Copy Rows(2 * i) 'copier-coller
Next i
For Each s In Sh.Shapes
    If s.Visible = False Then s.Delete 'RAZ
Next s
End Sub
Elle se déclenche quand on active l'une des 4 feuille "Etiquettes".

Dans ces feuilles j'ai mis 2 cases d'option.

Edit : le tri n'était pas sur les bonnes colonnes, j'ai corrigé.

A+
 

Pièces jointes

Dernière édition:
Bonjour Job 75,


Merci d’avoir pris du temps pour travailler sur mon dernier fichier. Je préfère être honnête : sans vouloir vous vexer, le résultat obtenu ne correspond malheureusement pas du tout à ce que j’espérais.


Permettez-moi de reprendre l’historique afin que ma demande soit bien comprise.


Je possède de nombreux disques 45 tours. À l’origine, j’ai créé ce fichier simplement pour les répertorier par années ,et les classer correctement.

Plutôt que de les laisser au fond d’un placard, je les prête depuis plusieurs années à un ami qui possède deux anciens juke-box des années 60 : un CONTI et un CAPRI.

L’ajout des feuilles CONTI et CAPRI dans le fichier me permettait donc de savoir précisément quels disques étaient prêtés et dans quelle machine ils se trouvaient.

Par la suite, on m’a offert un lecteur de disques, ce qui m’a amené à ajouter la feuille DISCO.

Dans mon troisième message sur le forum, j’avais expliqué ma demande : automatiser le remplissage d’une feuille A4 au format étiquettes à partir de la feuille DISCO, afin de pouvoir l’imprimer en mode paysage et l’avoir sous la main près de mon lecteur.

Le membre du forum Sylvanu avait d’ailleurs proposé une solution fonctionnelle à l’aide de formules (post n°8).

Peu avant les fêtes de Noël, mon ami est venu m’emprunter de nouveaux disques pour ses deux juke-box.
En saisissant les emprunts dans le fichier, je lui ai montré la feuille DISCO qui se remplissait automatiquement. C’est à ce moment-là que je me suis demandée s’il ne serait pas possible d’obtenir le même principe, mais directement sous forme d’étiquettes.


J’ai donc posé la question sur le forum, et le membre Phil69970 a réussi à créer une page d’étiquettes qui me convenait parfaitement (post n°33).

Concernant la feuille ROCK : elle correspond à un pseudo juke-box qui n’utilise pas de disques 45 tours physiques, mais uniquement des fichiers MP3. C’est pour cette raison que j’ai décidé de la sortir de ce classeur et d’avoir deux fichiers bien distincts.

Ce que je souhaiterais désormais, uniquement dans le fichier Disques-45-tours-Complet, c’est :


  • la suppression totale de la partie ROCK, puisqu’elle fait maintenant partie de l’autre fichier que vous avez réalisé avec succès (Disque numérique) ;
  • et que la feuille DISCO continue d’alimenter automatiquement les cellules de la feuille Étiquettes DISCO, que j’imprime en mode paysage.

Merci d’avance .
 
- 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
15
Affichages
592
Retour