XL 2019 vba impossible feuille protégée

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 !

😱 Oh la vache ! Je viens d'ouvrir ton fichier... tu bosses avec des déficients visuels ou bien ??? 😁



Interface utilisateur c'est a dire ?
Sans la protection la macro fonctionne parfaitement 😉
C'est-à-dire protéger la feuille avec "UserIntefaceOnly".

Comme ça la feuille est protégée pour les utilisateurs mais pas pour VBA. Ainsi plus de problème de macro qui n'arrive pas à travailler à cause d'une protection de feuille. 😉


Ceci dit, déjà je ne vois aucune instruction Unprotect, donc si la feuille est protégée, c'est sûr que tu ne vas pas pouvoir la modifier. 😉
 
Dernière édition:
😱 Oh la vache ! Je viens d'ouvrir ton fichier... tu bosses avec des déficients visuels ou bien ??? 😁




C'est-à-dire protéger la feuille avec "UserIntefaceOnly".

Comme ça la feuille est protégée pour les utilisateurs mais pas pour VBA. Ainsi plus de problème de macro qui n''arrive pas à travailler à cause d'une protection de feuille. 😉
Mais euh !!!
et je colle ça ou UserinterfaceOnly !?
si tu peux me le mettre dans le code et me refiler le fichier 😉
Merci
 
Bon, je suppose que c'est ton premier fichier Excel.
Mais quand même, ça ne te choque pas d'écrire en taille 48 ???
Et du coup tes listes déroulantes sont minuscules et donc illisibles.
Mais bon, c'est vrai que tu n'es pas venu ici pour ça. Et si ça te convient, alors c'est parfait. Pas de souci. 😉



et je colle ça ou UserinterfaceOnly !?
Ca se colle dans l'instruction qui protège la feuille.
Donc peut se mettre par exemple à l'ouverture du fichier, ou dans la macro d'activation de la feuille.
 
Tu peux, soit déprotéger la feuille, écrire dedans, et reprotéger la feuille, doit protéger la feuille uniquement pour les utilisateurs mais pas pour VBA.
La deuxième solution peut se faire ainsi :

Code:
    With Workbooks(CeFichier).Sheets(NomOnglet)                 ' Avec le fichier à écrire
        .Protect userinterfaceonly:=True, Contents:=True, Password:="UPC-LM22"
        For i = 0 To UBound(Tablo) Step 2                       ' Mise à jour des données
            .Range(Tablo(i)) = Workbooks(NomFichier).Sheets(OngletLu).Range(Tablo(i + 1))    ' Ecriture de la donnée
        Next i
    End With
 
Bon, je suppose que c'est ton premier fichier Excel.
Mais quand même, ça ne te choque pas d'écrire en taille 48 ???
Et du coup tes listes déroulantes sont minuscules et donc illisibles.
Mais bon, c'est vrai que tu n'es pas venu ici pour ça. Et si ça te convient, alors c'est parfait. Pas de souci. 😉




Ca se colle dans l'instruction qui protège la feuille.
Donc peut se mettre par exemple à l'ouverture du fichier, ou dans la macro d'activation de la feuille.
oh la vache 48 !!! sans doute une erreur ...
 
VB:
With Workbooks(1 ASTUCE SIRENE 1).Sheets(PRINTEMPS 1)                 ' Avec le fichier à écrire
        .Protect userinterfaceonly:=True, Contents:=True, Password:="UPC-LM22"
        For i = 0 To UBound(Tablo) Step 2                       ' Mise à jour des données
            .Range(Tablo(i)) = Workbooks(MISE A JOUR PIC NIC).Sheets(MISE A JOUR PRINTEMPS).Range(Tablo(i + 1))    ' Ecriture de la donnée
        Next i
    End With[
/CODE]

C'est bon comme ça !?
 
Re
je n'y connais pas grand chose !
Ce code ma été donner sur le forum ( un code " mise a jour " universelle qui me sert sur plusieurs fichier que j'adapte en fonction des cellules a copier et a lire )

J'ai cette ligne ci-dessous qui passe en jaune

For i = 0 To UBound(Tablo) Step 2 ' Mise à jour des données
 
Je suppose que la variable "Tablo" est vide, ce qui provoque une erreur.

Cette variable "Tablo" est remplie dans la macro Mise_a_jour_onglets :
Tablo = Array("E10", "K11", "B10", "K12", "F10", "M12", "J10", "O12", "N10", "Q12", "R10", "S12")

E10 est la cellule du fichier que tu as posté dans laquelle tu vas écrire le contenu de la cellule K11 du fichier ouvert en lecture.
De même pour les paires B10 et K12, F10 et M12, etc.
 
Dernière édition:
Je suppose que la variable "Tablo" est vide, ce qui provoque une erreur.

Cette variable "Tablo" est remplie dans la macro Mise_a_jour_onglets :
Tablo = Array("E10", "K11", "B10", "K12", "F10", "M12", "J10", "O12", "N10", "Q12", "R10", "S12")

E10 est la cellule du fichier que tu as posté dans laquelle tu vas écrire le contenu de la cellule K11 du fichier ouvert en lecture.
De même pour les paires B10 et K12, F10 et M12, etc.
For i = 0 To UBound(Tablo = Array ("E10", "K11", "B10", "K12", "F10", "M12", "J10", "O12", "N10", "Q12", "R10", "S12") Step 2

Comme ceci la ligne passe en rouge ...
je suis perdu
 
- 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

Discussions similaires

Réponses
17
Affichages
477
Réponses
3
Affichages
139
Réponses
72
Affichages
1 K
Réponses
2
Affichages
241
Retour