Macro avec filtre

bonjour à tous,

je souhaiterais savoir s'il est possible et si oui comment faire pour le problème suivant

j'ai une macro qui me permets d'insérer une ligne en recopiant les formules de la ligne du dessus, elle fonctionne très bien

le problème c'est que lorsque je mets des filtres sur des colonnes la macro ne marche plus et je suis obligé de laisser les filtres sur mon tableau lors des insertions

en bref , je cherche à insérer des lignes avec recopie des formules de la ligne au dessus sur un tableau avec filtres ( je suis obligé de laisser ces filtres lors de l'insertion)

merci d'avance à tous ceux qui pourront me renseigner

AUBA

Salut le forum

Avec un petit fichier incluant la macro, sinon impossible de fournir l'aide demandée.

Mytå

bonjour MYTA

voici un fichier en exemple

lorsque je veux insérer une ligne via le bouton "insertion de ligne" et que le filtre est activé la macro ne marche pas et mes formules ne se recopient pas

merci d'avance

AUBA

Bonjour

A tester (moi je n'ai pas vu de problème)

Remplaces cette partie

  [barrer]Range(Cells(ZtNumLig, 1), Cells(ZtNumLig, ZtDerCol)).Copy _
    Range(Cells(ZtNumLig + 1, 1), Cells(ZtNumLig + 1, ZtDerCol))[/barrer]

Par

Range(Cells(ZtNumLig, 1), Cells(ZtNumLig, ZtDerCol)).Copy Cells(ZtNumLig + 1, 1)

Bonjour à tous,

moi, j'aurais mis dans un module

Sub InsertLigne() 'insère 1 ligne vierge sous la cellule active et conserve les formules
Dim Lg%
    Lg = ActiveCell.Row + 1
    If Lg < 7 Then Exit Sub
    Rows(6).Copy
    Rows(Lg).Insert
    Application.CutCopyMode = False
    Rows(Lg).SpecialCells(xlCellTypeConstants, 23).ClearContents
End Sub

Bonne journée

Claude

bonjour ,

je viens de tester les réponses de banzai64 et dubois , malheureusement lorsque le filtre est activé les formules de la ligne du dessus ne se recopient pas

je cherche toujours de mon côté mais cela me parait pour mon niveau

merci

AUBA

Bonjour,

Nouvel essai, qui semble fonctionner,

j'ai nommé "Formules" la plage H6:J6

qui sera copiée sur la ligne insérée

Sub InsertLigne() 'insère 1 ligne vierge sous la cellule active et
'copie le champ nommé "Formules" sur cette ligne.
Dim Lg%
    Lg = ActiveCell.Row + 1
    If Lg < 6 Then Exit Sub
    Application.CutCopyMode = False
    Rows(Lg).Insert
    Range("Formules").Copy Destination:=Range("h" & Lg)
    Range("a" & Lg).Activate
End Sub

Claude

Bonjour ,

je viens de tester , cela marche parfaitement , maintenant j'ai un autre petit problème

j'ai du joindre un fichier modèle réduit

en réalité la taille de mon tableau est A6:FX3000

je n'arrive pas à adapter votre macro à mon tableau , si vous pouviez me la corriger se serait très sympa

en espérant ne pas trop abuser de votre temps et de vos connaissances

merci d'avance

AUBA

re,

c'est même pas utile de nommer la plage "formule" comme dit précédemment

Sub InsertLigne() 'insère 1 ligne vierge sous la cellule active et
'copie la ligne 6 sur cette ligne, (conserve que les formules).
Dim Lg%
    Lg = ActiveCell.Row + 1
    If Lg < 6 Then Exit Sub
    Application.CutCopyMode = False
    Rows(Lg).Insert
    Range("a6:fx6").Copy Destination:=Range("a" & Lg)
    Rows(Lg).SpecialCells(xlCellTypeConstants, 23).ClearContents
    Range("a" & Lg).Activate
End Sub

à noter que curieusement la ligne ci-dessous ne fonctionne pas correctement,

elle insère et copie bien la ligne, mais ne l'affiche pas.

Rows(6).Copy Destination:=Range("a" & Lg)

Amicalement

Claude

bonjour ,

c'est parfait

un grand merci pour la qualité des réponses et la rapidité

AUBA

N'oublie pas la petite formalité,

à la prochaine

a resolu3

bonjour,

j'ai un problème , je n'arrive pas à modifier la macro correctement

si quelqu'un pouvait me dépanner

merci d'avance

AUBA

Bonjour,

Envoie le fichier réel (avec seulement quelques lignes si trop gros)

pour voir la structure de la feuille

Claude

bonjour,

voici le fichier en exemple

lorsque je veux insérer une ligne dans la famille " AD delhaize" les formules ne se recopient pas alors que dans les autres familles il n'y a aucun problème

merci d'avance

AUBA

8modele-tableau.xlsm (120.42 Ko)

Bonjour,

Il y a quand même quelque chose de bizarre !

manuellement, un copier et coller ne prend pas les formules

après avoir pas mal chercher, je fais un collage spécial (Tout)

ne me demande pas pourquoi, mais çà semble marcher !

à placer dans un module, et non dans le VBE de la feuille

Sub InsertLigne() 'insère 1 ligne vierge sous la cellule active et
'copie la ligne 6 sur cette ligne, (conserve que les formules).
Dim Lg%
    Application.ScreenUpdating = False
    Lg = ActiveCell.Row + 1
    If Lg < 6 Then Exit Sub
    Application.CutCopyMode = False
    Rows(Lg).Insert
    Range("a6:fx6").Copy
    Range("a" & Lg).PasteSpecial Paste:=xlPasteAll '(copie tout)
    Application.CutCopyMode = False
    Rows(Lg).SpecialCells(xlCellTypeConstants, 23).ClearContents
    Range("a" & Lg).Activate
End Sub

à noter que AD DELHAIZE , n'existe pas dans la liste "Donnée" , c'est DELHAIZE: AD

Claude

17modele-tableau2.xlsm (118.89 Ko)

bonjour,

effectivement cela a l'air de marcher correctement, avant de signifier de ne plus surveiller le sujet je vais encore tester

merci encore

AUBA

Rechercher des sujets similaires à "macro filtre"