Macro

Bonjour à tous!!!!!

J'aimerais qu'avec votre expertise Excel que vous puissiez m'aider sur des macro...

Je suis novice, je sais seulement créer des boutons en macro!! Lol

La dans le présent fichier, je dispose de différentes fiches de risques, j'aimerais qu'à chaque ajout d'un onglet (une fiche) que ma première feuille récapitule l'ensemble automatiquement??

Quelqu'un saurai t-il m'apporter cette aide??

Je vous remercie par avance!!

A très vite!

Cassandra

Bonjour,

Dans la feuille qui te sert de modèle pour générer tes fiches, tu ajoutes un bouton (choisir un contrôle ActiveX), et dans le module de la feuille tu mets la macro suivante qui sera lancée par le bouton :

Private Sub CommandButton1_Click()
    Dim ls, cs, n%, i%
    ls = Array(2, 2, 4, 24, 3, 4, 18, 24)
    cs = Array(9, 3, 3, 5, 3, 8, 9, 2)
    With Worksheets(1)
        n = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
        For i = 0 To 7
            .Cells(n, i + 2).Value = ActiveSheet.Cells(ls(i), cs(i))
        Next i
        .Range("B4:K" & n).Sort key1:=.Range("H4"), order1:=xlAscending, Header:=xlNo
        .Range("C2").Value = Date
    End With
End Sub

CommandButton1 sera remplacé par le nom du bouton, si tu lui en donnes un autre (ou s'il en a un autre). D'ailleurs, plutôt que d'inscrire la 1re ligne de la macro : Sub..., dérouler la liste déroulante de gauche du module et cliquer sur le nom du bouton, VBA inscrira la première et la dernière ligne ; Sub... // End Sub. Copier et coller le contenu de la macro entre ces deux lignes.

Cordialement.

Merci @MFerrand

J'ai tenté l'éxécution de votre macro mais ça ne fonctionne pas... Ou alors je n'ai pas corretement fait les choses???

Merci encore

Qu'est-ce qui ne fonctionne pas ?

Vous avez mon fichier excel??

Dans la première page, je renseigne manuellement un résumé de l'ensemble des fiches crées par la suite...J'aimerais qu'a chaque fois que je créée une fiche donc une nouvelle feuille que le résumé se fasse dans la première page...

Je ne sais pas si c'est comphésensible ma demande??

La quand j'essaie d'éxécuter la macro je n'ai qu'une seule ligne qui bouge et pas toutes les colonnes renseignées

Merci pour votre récativité!!

As-tu suivi les instructions ?

La macro doit être dans le module de la fiche, et est lancé au moyen d'un bouton de type ActiveX inséré également sur la fiche.

La macro est la macro lancée par l'évènement Clic du bouton.

C'est pourquoi j'ai indiqué de mettre tout ça dans la feuille qui sert de modèle pour créer les fiches, de façon qu'elle puisse figurer sur chaque fiche ajoutée.

Une fois la fiche remplie, on clique sur le bouton et la macro va servir 8 colonnes à partir des données de la fiche sur la première ligne vide de la feuille 1, puis elle retrie le tableau et insère la date du jour en C2.

Je vous mets ci-joint le fichier en ayant intégré votre macro!!!

Merci pour votre aide!!!!

6en-cours-macro.xlsm (151.95 Ko)

Désolé ! Réflexe... j'ai oublié que A était vide :

n = .Cells(.Rows.Count, 2).End(xlUp).Row + 1

Remplacer 1 par 2 dans la ligne ci-dessus.

Pour n'avoir que le numéro en colonne B, ne mettre que le numéro en I2 (fiche)

Bonne journée.

Je commence à voir du résultat mais ce n'est pas tout à fait ça!!!

L'intitulé des colonnes ne revient pas??

Je vous mets le fichier, que vous puissiez voir!!

Merci

2en-cours-macro.xlsm (151.58 Ko)

En principe, on teste sur une copie, ou on n'enregistre pas tant que le résultat n'est atteint, sinon ce qui est démoli doit être rétabli manuellement !

Il faut aussi que tu alignes la criticité sur la fiche sur les valeurs de la colonne H, d'autant plus que le tri se fait sur cette colonne.

Cordialement.

Super!!!

Je suis contente, merci beaucoup!!

Du coup pour harmoniser le tableau, je peux créér un bouton dans chaque fiche déjà créé en utilisant le même code?

Vraiment gentil de votre part pour l'aide apporté!!!!!

Bonjour,

Si ton sujet est clos, peux tu l'indiquer en cliquant sur résolu ?

Merci, ça aide les autres

Je t'envoie l'image d'un autre

resolu 4 1

Oh ! Romain ! Tu t'es autoproclamé centurion chargé de la clôture des sujets ?

Passe encore que je me soie dérangé pas mal de fois aujourd'hui pour n'avoir à constater que tes interventions de ce type dans des sujets où tu n'étais pas partie prenante ! Mais si en plus tu t'immisces sans avoir autre chose à dire dans une discussion toujours en cours, ça fait un peu beaucoup !

Cassandra : si tu veux également utiliser ce bouton pour les mises à jour (dès lors qu'elles sont faites à partir de la fiche, c'est effectivement possible, mais il faudra quelques aménagements supplémentaires.

Tu l'a peut-être noté, le passage des données de la fiche compte tenu de leur position vers la feuille récap n'est pas "direct". Dans la mesure où aucune règle (mathématique) ne permet de le faire, les numéros de lignes et de colonnes des cellules de la fiche dont les valeurs sont à affecter aux colonnes 2 à 9 de la feuille, sont consignées sous forme de tableaux dans 2 variables : ls pour les numéros de lignes, cs pour les numéros de colonnes, dans l'ordre des colonnes de la feuille.

Il n'est pas inutile dans un premier temps de vérifier qu'il s'agit bien des bonnes cellules de la fiche source qui sont reliées aux colonnes de la feuille, puis recenser celles qui doivent faire l'objet de mises à jour (qui me semblent devoir varier sur la fiche pour ce qui est des actions menées).

A partir de là, on dédoublera la procédure selon qu'il s'agit de la création (proc. actuelle) ou d'une mise à jour ultérieure : il faudra alors un critère d'identification qu'il ne s'agit plus de la création (éventuellement à apposer sur la fiche lors de la création), et cette autre partie de procédure devra également trouver la ligne à mettre à jour d'un côté et les cellules destinées à assurer la mise à jour de l'autre.

Mais en effet, dès lors que l'on met une procédure à la création, aucune raison de se priver de réitérer pour les mises à jour.

Cordialement.

Rechercher des sujets similaires à "macro"