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

Aide sur Macro génération auto

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

D

ddm

Guest
Salut

J'ai besoin de votre aide sur Marco de création automatique d'un tableau

ci-jonit un extrait de mon fichier

Merci d'avance
Cordialement
 

Pièces jointes

Re : Aide sur Macro génération auto

Bonjour Philippe;

Est-ce que c'est possible de créer le tableau de la feuille N°2, on gardant son format actuel

veuillez trouver ci-joint le fichier

Merci
 

Pièces jointes

Re : Aide sur Macro génération auto

Bonsoir ddm, salut Philippe,

La macro :

Code:
Sub Filtre()
Dim plage As Range
Application.ScreenUpdating = False
With Sheets("Feuil1")
  .AutoFilterMode = False
  .[A4:A5].AutoFilter Field:=13, Criteria1:=">0"
  Set plage = Intersect(.AutoFilter.Range, Union(.[A6:B65536], .[M6:N65536]))
  Set plage = plage.SpecialCells(xlVisible)
  With Sheets("Feuil2")
    .[A3:D65536].Clear
    plage.Copy .[A3]
  .Activate 'facultatif
  End With
  .AutoFilterMode = False
End With
End Sub

Fichier joint.

A+
 

Pièces jointes

Re : Aide sur Macro génération auto

Re,

Maintenant la macro adaptée au fichier du post #4 :

Code:
Sub Filtre()
Dim plage As Range, h As Long
Application.ScreenUpdating = False
With Sheets("Feuil1")
  .AutoFilterMode = False
  .[A4].AutoFilter Field:=.[Plage2].Column, Criteria1:=">0"
  Set plage = Union(.[Plage1], .[Plage2]).SpecialCells(xlVisible)
  h = Intersect(plage, .[A:A]).Cells.Count
  .AutoFilterMode = False
End With
With Sheets("Feuil2")
  On Error Resume Next
  .[B5:F5].Resize(Application.CountA(.[B:B]) - 3).Delete xlUp
  On Error GoTo 0
  .[B6:F6].Resize(h).Copy
  .[B5:F5].Insert xlDown
  plage.Copy .[B5]
  With .[B5:F5].Resize(h)
    .Borders.Weight = xlThin 'ou autrement :
    '.Borders(xlInsideVertical).Weight = xlThin
    .Borders(xlInsideHorizontal).LineStyle = xlNone
    .FormatConditions.Add Type:=xlExpression, Formula1:="=MOD(LIGNE();2)=0"
    .FormatConditions(1).Interior.ColorIndex = 15
  End With
  .Activate 'facultatif
End With
End Sub

Noter la création d'une MFC pour la couleur alternée des lignes.

Et voir dans la feuille de calcul les définitions des noms Plage1 et Plage2.

Fichier joint.

A+
 

Pièces jointes

Dernière édition:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
XL 2019 B
Réponses
10
Affichages
658
  • Question Question
Autres MACRO
Réponses
20
Affichages
835
Réponses
3
Affichages
217
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…