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

Aide à la création et l'utilisation d'une macro !

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

Rgargot

XLDnaute Nouveau
Bonjour !

Je recherche quelqu'un qui puisse m'aider à créer une macro, je n'ai aucune notion dans la matière et lorsque je m'y intéresse j'ai vraiment du mal ! Je dois réaliser ce travail dans le cadre dans un stage, et sans macro c'est du suicide !
J'ai retravaillé le fichier original pour le diffuser ici et voici les conditions qui me sont demandés :

Dans cet exemple il faudrait créer une macro qui permette de répéter les lignes 3 à 10. Soit les 8 lignes qui sont en majorité grisées.
En gros dès que la valeur de la colonne C varie il faut, le tout sur 8 lignes :
- répétitions de la colonne C
- case grisée comme sur l'exemple
- case bordeaux clair comme sur l'exemple
- répétition des huit facteurs (bruit, charges, etc.) dans cet ordre.
- les croix ne sont pas à répéter, elles sont juste là à titre d'illustration.

Est-ce possible sachant qu'il y 1500 valeurs de C différentes et beaucoup de formules complexes dans le document?
 

Pièces jointes

Dernière édition:
Re : Aide à la création et l'utilisation d'une macro ! URGENT !

Bonsoir à tous

Rgargot
Pourquoi créer un second fil ?
https://www.excel-downloads.com/threads/besoin-daide-pour-manipuler-une-maccro.219016/
Quand à l'urgence, elle est plus dans le fait de devoir relire la charte du forum. 😉
2 – Tous les membres du forum répondent gracieusement aux questions. Il n’y a donc aucune obligation de résultat et de délai. Les mots URGENT, SOS, AU SECOURS sont donc à bannir.

NB: Pas très motivant de voir que la macro que je t'ai soumis dans ton premier fil n’apparaît même pas dans ta pièce jointe ici...🙄
 
Dernière édition:
Re : Aide à la création et l'utilisation d'une macro ! URGENT !

Bonsoir, n'ayant pas de réponse j'ai voulu up le sujet car à partir de demain je vais devoir avancer sur le projet et donc sans maccro tout créer manuellement ...

La première macro je ne l'ai pas intégré parce qu'elle ne contient pas les éléments à répéter pour ce doc, et que je n'ai aucune idée de comment la modifier !
 
Re : Aide à la création et l'utilisation d'une macro ! URGENT !

Re

Rgargot
1) L'intégrer eut été une marque de courtoisie
2) Elle pourrait servir de base à d'autres membres
3) Ton premier fil n'est "vieux" que d'un jour
4) Tu as relu la charte ?

Faire un up dans le fil d'origine permet de suivre l'évolution du fil...
Créer plusieurs fils ne fait qu'ajouter de la confusion.

NB: Pour infos , j'étais en train de bosser sur ton fichier (mais au rythme qui est le mien)
(mais plus trop sur d'avoir l'envie de poursuivre...)

J'étais parti sur l'idée de mettre les valeurs à recopier dans un Array.
 
Dernière édition:
Re : Aide à la création et l'utilisation d'une macro ! URGENT !

Oui j'ai relu la charte. En effet je n'aurais pas du utiliser le mot URGENT ni re-créer un fil de discussion. Seulement je suis un peu en panique dans le sens où demain je vais devoir réaliser toutes ses lignes manuellement et je m'excuse de ne as avoir respecté ces points

Je suis sur le forum pour chercher de l'aide, si j'ai mal agit je m'en excuse mais je pense pourtant être courtois et j'ai essayé dans la journée et avec des tutos d'essayer de manier votre maccro pour le fichier final je n'ai pas réussi. Elle m'a déjà bien aidé je vous remercie mais comme il faut quelle soit différente je ne pensais pas que la mettre soit pertinent. Et sans réponse de votre part sur l'autre sujet, je ne pensais que vous m’aideriez à nouveau et donc je voulais soumettre le fichier avec le cahier des charges telle qu'il m'a été présenté
 
Re : Aide à la création et l'utilisation d'une macro ! URGENT !

Re

J'avais pas vu le NB, merci d'avoir commencé. Je pensais pas que vous bossiez dessus.
Eh si et voici où j'en suis actuellement
Code:
Sub dbis() ' juste test en cours
Dim vArr, i As Byte, j As Byte
vArr = Array("Manutention manuelle", " Bruit", "Températures extrêmes", "Postures pénibles", _
"Travail en équipes alternantes", "Travail de nuit", "Vibrations mécaniques", "Gestes répétitifs")
For j = 1 To 50 Step 8
Cells(j , 1).Resize(UBound(vArr) + 1) = Application.Transpose(vArr)
Next
End Sub

Désolé mais demain je commence mon taf tôt, je ne peux donc m'attarder plus longtemps ce soir.
Tu as néanmoins désormais deux macros: une qui insère 8 lignes (voir dans l'autre fil) à chaque changement de valeur et celle-ci (dans celui-ci)
(Tu vois comme c'est pratique d'éparpiller les macros sur deux fils de discussion...)

Espérons qu'un membre insomniaque prenne le relais pour peaufiner la chose.

Sinon tu pourras dire (de ma part) à ton maître ou tuteur de stage qu'on ne confie pas une tâche qui n'est pas encore dans le champ de compétences du stagiaire.
 
Dernière édition:
Re : Aide à la création et l'utilisation d'une macro ! URGENT !

la répétition des facteurs se fait de nombreuses fois sur ma feuille. En supprimant les lignes du dessous...
Enfin cela doit être normal si vous êtes dessus. Et la macro peut elle inclure des mises en forme comme les cases de couleur par exemple ?
 
Re : Aide à la création et l'utilisation d'une macro ! URGENT !

Re

Comme le dit le commentaire en début de macro
Sub dbis() ' juste test en cours

pour le reste voir les ajouts dans l'édition de mon précédent message.

Il va de soi que cette dernière macro étant une macro de test elle était à tester sur une feuille vierge.
 
Re : Aide à la création et l'utilisation d'une macro ! URGENT !

Re


Dernière participation de ma part pour ce soir
Ici on recopie les valeurs et le format
(Mettre tes données formatées en F1:F8) puis lance la macro ci-dessous
Code:
Sub e()
Dim ZONE_A_COPIER As Range, i As Long
Set ZONE_A_COPIER = Range("F1:F8")
For i = 1 To 50 Step 8 ' à adapter plus tard
ZONE_A_COPIER.Copy Cells(i, 1).Offset(1)
Next i
End Sub

Avec tout ceci tu auras au moins quelque matière à montrer à ton maître de stage.
Cela devrait amoindrir le caractère d'urgence et le contenter quelque peu.

Avec un peu de chance, un insomniaque du forum te fournira peut être plus d'ici demain.

Peut-être qu'en fournissant plus détails et/ou par une illustration précise de ton problème:
• Situation de départ (sur un onglet)
• Résultat à obtenir (sur un autre onglet que tu réaliseras manuellement pour 16 lignes)

tu optimiseras les chances de réponse.

Sur ce, je vais au dodo.
 
Re : Aide à la création et l'utilisation d'une macro !

Bonjour voici le fichier exemple que l'on m'a demandé.

Il possède deux feuilles, la première est le document original tel quel (version différente de l'original mais qui respecte les mêmes critères). La deuxième feuille est le rendu que je dois faire. Le tout à été fait sans macro et comme vous le voyez il s'agit simplement de la répétition d'une tache.
Le problème c'est que le document d'origine possède 1 500 lignes, l'utilisation d'une macro est donc indispensable. Donc si quelqu'un peut m'aider à la créer.

Merci.
 

Pièces jointes

Re : Aide à la création et l'utilisation d'une macro ! URGENT !

Bonsoir à tous

Rgargot
Essaie avec ces codes VBA
[MEO]
• Copies tous les codes ci-dessous dans un module standard
• Lances ensuite la macro nommée MainProc
(Ensuite il faudra enregistrer ton classeur en *.xlsm pour conserver les macros)​
[/MEO]
Code:
Sub MainProc()
Application.ScreenUpdating = False
insertionLignes
remplirVides
miseEnForme
Application.ScreenUpdating = True
End Sub

Code:
Private Sub insertionLignes()
Dim r&
r = Cells(Rows.Count, "A").End(xlUp).Row
For r = r To 2 Step -1
ActiveSheet.Rows(r + 1).Resize(9).Insert
Next r
End Sub
Code:
Private Sub remplirVides()
Dim Dlig&
Dlig = Cells(Rows.Count, "C").End(xlUp).Row + 9
Range("C2:C" & Dlig).SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
With Range("C2:C" & Dlig)
.Value = .Value
.Rows.AutoFit
End With
End Sub
Code:
Private Sub miseEnForme()
Dim i&, j As Byte, Dlig&, vVals, vCols, adrCol, lDlig&
Dlig = Cells(Rows.Count, "A").End(xlUp).Row + 8
vVals = Array(vbNullString, "Manutention manuelle", " Bruit", "Températures extrêmes", "Postures pénibles", _
"Travail en équipes alternantes", "Travail de nuit", "Vibrations mécaniques", "Gestes répétitifs")
vCols = Array(22, 37, 37)
adrCol = Array("I2:J2", "P2", "V2")
For i = 3 To Cells(Rows.Count, "A").End(xlUp).Row + 8 Step 10
Cells(i, "A").Resize(9, 29).Interior.ColorIndex = 19
Cells(i, "I").Resize(9) = Application.Transpose(vVals)
Next
For j = 0 To 2
Range(adrCol(j)).Resize(Dlig).Interior.ColorIndex = vCols(j)
Next
lDlig = Cells(Rows.Count, "C").End(xlUp).Row
Range("C2:C" & lDlig).Columns.AutoFit
Range("I2:I" & lDlig).Columns.AutoFit
Range("A2:AC" & lDlig).Borders.LineStyle = 1
End Sub

 
Dernière édition:
Re : Aide à la création et l'utilisation d'une macro ! URGENT !

Re

Rgargot
Heureux d'apprendre que finalement je suis pertinent 😉
Elle m'a déjà bien aidé je vous remercie mais comme il faut quelle soit différente je ne pensais pas que la mettre soit pertinent.

Question: j'espère que tu as compris le fonctionnement du code ?
Histoire que plus tard tu sois autonome en VBA 😉 et que ton stage se passe bien.
 
- 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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…