XL 2019 Insérer des lignes avec cellules protégées

SMEAGOAL

XLDnaute Junior
Bonjour,
J'aimerais pouvoir insérer une ligne type dans un tableau mais il y a des cellules protégées donc ce n'est pas possible, (voir exemple ligne 3).
Existe-t-il une macro simple pour pouvoir l'effectuer? (Je n'ai jamais réussi à comprendre le fonctionnement des macros...)
Merci.
 

Pièces jointes

  • Insérer des lignes copiées avec protection.xlsm
    12.3 KB · Affichages: 14
Solution
Bonjour SMEAGOAL, Phil69970,

Il faut copier les valeurs de la plage B3:J3 mais aussi entrer la formule en colonne A :
VB:
Sub Insertion()
'se lance par les touches Ctrl+I
Feuil1.Activate
If ActiveCell.Row < 6 Then MsgBox "Sélectionnez une cellule sous la ligne 5...", , "Insertion": Exit Sub
ActiveSheet.Protect "toto", UserInterfaceOnly:=True 'mot de passe à adapter
With ActiveCell.EntireRow
    .Insert
    .Rows(0).Font.Bold = False
    .Cells(0, 1).FormulaR1C1 = "=MAX(R5C:OFFSET(RC,-1,))+1"
    .Cells(0, 2).Resize(, 9) = [B3:J3].Value 'copie les valeurs
End With
End Sub
A+

job75

XLDnaute Barbatruc
Bonjour SMEAGOAL, Phil69970,

Il faut copier les valeurs de la plage B3:J3 mais aussi entrer la formule en colonne A :
VB:
Sub Insertion()
'se lance par les touches Ctrl+I
Feuil1.Activate
If ActiveCell.Row < 6 Then MsgBox "Sélectionnez une cellule sous la ligne 5...", , "Insertion": Exit Sub
ActiveSheet.Protect "toto", UserInterfaceOnly:=True 'mot de passe à adapter
With ActiveCell.EntireRow
    .Insert
    .Rows(0).Font.Bold = False
    .Cells(0, 1).FormulaR1C1 = "=MAX(R5C:OFFSET(RC,-1,))+1"
    .Cells(0, 2).Resize(, 9) = [B3:J3].Value 'copie les valeurs
End With
End Sub
A+
 

Pièces jointes

  • Insérer des lignes copiées avec protection(1).xlsm
    21 KB · Affichages: 7

SMEAGOAL

XLDnaute Junior
Bonjour SMEAGOAL, Phil69970,

Il faut copier les valeurs de la plage B3:J3 mais aussi entrer la formule en colonne A :
VB:
Sub Insertion()
'se lance par les touches Ctrl+I
Feuil1.Activate
If ActiveCell.Row < 6 Then MsgBox "Sélectionnez une cellule sous la ligne 5...", , "Insertion": Exit Sub
ActiveSheet.Protect "toto", UserInterfaceOnly:=True 'mot de passe à adapter
With ActiveCell.EntireRow
    .Insert
    .Rows(0).Font.Bold = False
    .Cells(0, 1).FormulaR1C1 = "=MAX(R5C:OFFSET(RC,-1,))+1"
    .Cells(0, 2).Resize(, 9) = [B3:J3].Value 'copie les valeurs
End With
End Sub
A+
Bonjour job75,
Alors là plus que parfait, merci pour la formule décaler! 👍
Question: pourquoi y a t'il un mot de passe à l'intérieur de la macro?
A+
 

Phil69970

XLDnaute Barbatruc
@job75
J'ai vu mais du coup cela te fait un doublon c'est pourquoi je suis parti de l'idée de refaire les formules de la colonne A et après la nouvelle insertion pour remettre comme à l'origine

1629307913281.png

De plus un truc me chagrine c'est sur la manière de numéroter la colonne A car pour moi :
1629308015425.png

Référence de stock devrait correspondre à un même article avec une référence unique mais je dis ça je dis rien 🤔

@Phil69970
 

job75

XLDnaute Barbatruc
Je ne comprends pas, ma formule ne peut pas créer de doublon en colonne A.

Il est sûr que si l'on veut attacher un numéro unique à chaque article il ne faut pas de formule.

Mais alors pourquoi mettre des numéros ?

Bonne nuit.
 

SMEAGOAL

XLDnaute Junior
@job75
J'ai vu mais du coup cela te fait un doublon c'est pourquoi je suis parti de l'idée de refaire les formules de la colonne A et après la nouvelle insertion pour remettre comme à l'origine

Regarde la pièce jointe 1113515
De plus un truc me chagrine c'est sur la manière de numéroter la colonne A car pour moi :
Regarde la pièce jointe 1113518
Référence de stock devrait correspondre à un même article avec une référence unique mais je dis ça je dis rien 🤔

@Phil69970
Bonjour Phil,
Je ne vois pas de doublon non plus avec la formule de job75,
Quant au tableau, j'ai pris un modèle disponible dans excel, je souhaite adapter la macro à mon fichier, histoire de me faire progresser sur VBA... (et c'est pas évident!)
Merci en tous cas!
 

SMEAGOAL

XLDnaute Junior
Bonjour à tous,
J'ai essayé d'adapter la macro à mon fichier mais je n'y suis pas arrivé!
J'ai abandonné la protection des cellules pour le moment,
Je cherche juste avec insérer les lignes type 122&123 (ensemble) et adapter la formule de la colonne D (comme a si bien fait job75).
Si vous pouvez m'aider là dessus?
Merci.
 

Pièces jointes

  • Insérer lignes copiées.xlsm
    109.3 KB · Affichages: 2

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16