Anthonymctm
XLDnaute Occasionnel
Bonjour à tous,
J'ai cherché sur internet et bizarrement j'ai pas trouvé ma réponse..
Voilà, je travaille sur un onglet protégé, certaines cellules sont volontairement verrouillé pour éviter les erreurs de manipulation.
J'ai déjà fait une partie du code mais je sèche sur la partie insertion
Je souhaite que :
1-l'utilisateur sélectionne la ou les lignes qu'il souhaite copié/coller
2-Il fait un copier ou ctrl+C
3-Il sélectionne la ligne où il souhaite insérer ce qu'il a copié
4-Il clique sur un bouton qui :
1-Fait sauter la protection (ça semble obligatoire pour coller quelque chose)
2-Vérifie que la sélection soit bien une ligne et pas un cellule pour éviter de coller n'importe où
3-Insère le contenu copié au dessus de la ligne sélectionnée
4-Réactive la protection de la feuille
Le code déjà fait :
Je ne sais pas si ça se fait d'office, mais il faudrait que les lignes collées reprenne les zones autorisées ou non des lignes copiées
Merci
J'ai cherché sur internet et bizarrement j'ai pas trouvé ma réponse..
Voilà, je travaille sur un onglet protégé, certaines cellules sont volontairement verrouillé pour éviter les erreurs de manipulation.
J'ai déjà fait une partie du code mais je sèche sur la partie insertion
Je souhaite que :
1-l'utilisateur sélectionne la ou les lignes qu'il souhaite copié/coller
2-Il fait un copier ou ctrl+C
3-Il sélectionne la ligne où il souhaite insérer ce qu'il a copié
4-Il clique sur un bouton qui :
1-Fait sauter la protection (ça semble obligatoire pour coller quelque chose)
2-Vérifie que la sélection soit bien une ligne et pas un cellule pour éviter de coller n'importe où
3-Insère le contenu copié au dessus de la ligne sélectionnée
4-Réactive la protection de la feuille
Le code déjà fait :
VB:
Sub coller_install()
ActiveSheet.Unprotect ""
If Selection.Rows.Count = 1 And Selection.Columns.Count = 16384 Then 'Vérifie que la selection soit une ligne'
Selection.Insert Shift:=xlDown 'partie qui ne fonctionne pas'
Application.CutCopyMode = False
Else
MsgBox "Selectionner la ligne en dessous de laquelle vous souhaitez coller"
End If
With ActiveSheet
.EnableAutoFilter = True
.EnableOutlining = True
.Protect Contents:=True, UserInterfaceOnly:=True, AllowFormattingCells:=True, AllowInsertingRows:=True, AllowDeletingRows:=True, AllowFormattingColumns:=True, AllowFormattingRows:=True
End With 'réactive la protection'
End Sub
Je ne sais pas si ça se fait d'office, mais il faudrait que les lignes collées reprenne les zones autorisées ou non des lignes copiées
Merci