Copie coller des formules

Bonjour à tous,

J'utilise un fichier qui me permet de suivre différents informations concernant du personnel.

Ces infos sont compilées dans différents onglets car nous sommes plusieurs à travailler sur ce fichier et chacun rempli ses infos.

Grâce à de l'aide l'ajout et les masquage de ligne est automatique, mais je n'arrive pas à faire en sorte que lorsque je rajoute une une ligne, il copie les formules des autres lignes.

J'espère que vous pourrez m'aider, je vous mets le fichier en pièce jointe.

5suivi-iin.xlsm (208.83 Ko)

Bonjour,

C'est très simple, tu sélectionnes ton tableau puis onglet "Insertion" ---> bouton "Tableau" !

De cette façon, tu auras un tableau structuré où les formules seront automatiquement ajoutée à chaque ajout de ligne.

Bonjour,

C'est très simple, tu sélectionnes ton tableau puis onglet "Insertion" ---> bouton "Tableau" !

De cette façon, tu auras un tableau structuré où les formules seront automatiquement ajoutée à chaque ajout de ligne.

Même si l'ajout de colonne se fait par une macro ?

Salut valdu26,

Salut Theze,

    With Worksheets(I) 'prend en compte l'onglet de la boucle
        .Unprotect (GetChoice(I)) 'déprotège l'onglet en fonction du mot de passe
        .Rows(LI).Insert shift:=xlDown 'insère une ligne
        .Rows(IIf(LI = DL, LI - 1, LI + 1)).Copy Destination:=Rows(LI) ' Copie la ligne active
        Rows(LI).SpecialCells(xlCellTypeConstants, 1).ClearContents
        Application.CutCopyMode = False
        .Cells(LI, "A").Value = CAS 'incrsit CAS dans la colonne A
        .Cells(LI, "A").Interior.Color = Range("C2").Interior.Color 'colore la cellule dans la colonne A
        .Cells(LI, "A").Font.Color = Range("C2").Font.Color 'colore la cellule dans la colonne A
        .Protect (GetChoice(I)) 'protège l'onglet de la boucle avec le bon mot de passe
    End With 'fin de la prise en compte de l'onglet de la boucle

Principe: je copie une ligne au-dessus ou en-dessous de l'insertion en fonction de sa position (difficile de copier des formules en 1ère ligne, par exemple) puis j'efface les constantes.

Pas pu tester sur ton fichier protégé mais a très bien fonctionné sur un fichier test.

Vois de ton côté.

A+

Salut valdu26,

Salut Theze,

    With Worksheets(I) 'prend en compte l'onglet de la boucle
        .Unprotect (GetChoice(I)) 'déprotège l'onglet en fonction du mot de passe
        .Rows(LI).Insert shift:=xlDown 'insère une ligne
        .Rows(IIf(LI = DL, LI - 1, LI + 1)).Copy Destination:=Rows(LI) ' Copie la ligne active
        Rows(LI).SpecialCells(xlCellTypeConstants, 1).ClearContents
        Application.CutCopyMode = False
        .Cells(LI, "A").Value = CAS 'incrsit CAS dans la colonne A
        .Cells(LI, "A").Interior.Color = Range("C2").Interior.Color 'colore la cellule dans la colonne A
        .Cells(LI, "A").Font.Color = Range("C2").Font.Color 'colore la cellule dans la colonne A
        .Protect (GetChoice(I)) 'protège l'onglet de la boucle avec le bon mot de passe
    End With 'fin de la prise en compte de l'onglet de la boucle

Principe: je copie une ligne au-dessus ou en-dessous de l'insertion en fonction de sa position (difficile de copier des formules en 1ère ligne, par exemple) puis j'efface les constantes.

Pas pu tester sur ton fichier protégé mais a très bien fonctionné sur un fichier test.

Vois de ton côté.

A+

Les mots de passe sont dans Thisworkbook

Ta solution ne marche pas, il me dit "erreur d'exécution '1004' : Pas de cellules correspondantes"

Salut valdu26,

en ajoutant...

On Error Resume Next

... ça fonctionne très bien!

Je vais néanmoins prendre le temps d'arranger certaines choses qui me chiffonnent!

Précision, stp :

- le bouton "MASQUER" efface dans 'Ajout_Suppression'...

Rows(LI).Delete shift:=xlUp 'supprime la ligne de l'onglet Ajout_Suppression

... mais masque dans les autres feuilles.

.Rows(LI).Hidden = True 'masque la ligne LI

Je n'ai pas encore testé mais, à mon sens, il risque d'y avoir souci quant au calcul de ligne.

A+

Salut valdu26,

en ajoutant...

On Error Resume Next

... ça fonctionne très bien!

Je vais néanmoins prendre le temps d'arranger certaines choses qui me chiffonnent!

Précision, stp :

- le bouton "MASQUER" efface dans 'Ajout_Suppression'...

Rows(LI).Delete shift:=xlUp 'supprime la ligne de l'onglet Ajout_Suppression

... mais masque dans les autres feuilles.

.Rows(LI).Hidden = True 'masque la ligne LI

Je n'ai pas encore testé mais, à mon sens, il risque d'y avoir souci quant au calcul de ligne.

A+

Ta première ligne de code je dois l'ajouter où?

Par rapport aux autres lignes, ça marche très bien car je souhaite masquer les lignes dans les différents onglets, et supprimer sur l'onglet AJOUT/SUPPRESSION

Salut valdu26,

j'avais déjà remarqué que l'usage de SpecialCells nécessitait cette précaution.

On Error Resume Next
For I = 1 To 9 'boucle sur les 9 premiers onglets
    With Worksheets(I) 'prend en compte l'onglet de la boucle
        .Unprotect (GetChoice(I)) 'déprotège l'onglet en fonction du mot de passe
        .Rows(LI).Insert shift:=IIf(LI = 2, xlUp, xlDown) 'insère une ligne
        .Rows(IIf(LI = DL, LI - 1, LI + 1)).Copy Destination:=Rows(LI) ' Copie la ligne active
        .Rows(LI).SpecialCells(xlCellTypeConstants, 1).ClearContents
        Application.CutCopyMode = False
        .Cells(LI, "A").Value = CAS 'incrsit CAS dans la colonne A
        .Cells(LI, "A").Interior.Color = Range("C2").Interior.Color 'colore la cellule dans la colonne A
        .Cells(LI, "A").Font.Color = Range("C2").Font.Color 'colore la cellule dans la colonne A
        .Protect (GetChoice(I)) 'protège l'onglet de la boucle avec le bon mot de passe
    End With 'fin de la prise en compte de l'onglet de la boucle
Next I 'prochain onglet de la boucle
On Error GoTo 0

Je regarde le reste dès que possible.

A+

Rechercher des sujets similaires à "copie coller formules"