XL 2013 Macro

mamos

XLDnaute Nouveau
Salut,

Je voulais que vous m'aidiez sur les éléments suivants:

1. Je n'arrive pas à supprimer des lignes qui contiennent des cellules verrouilles. Pour info, mes cellules verrouillés contiennent des formules

2. A chaque fois que je rajoute des lignes, les formules ne se reportent pas automatiquement.

3. Comme mon classeur contient des cellules intégrant des formules automatiques, j'aimerai obliger le remplissage de certaines cellules pour que mes calcules soient fait automatiquement.

Ci-joint mon fichier de travail.

Dans ce fichier, je veux obliger le remplissage de la cellule D2, et la cellule D24 à chaque que l'utilisateur complète ce tableau.


je cherche une macro qui permettra de pallier ce problème.
 

Pièces jointes

  • essai.xlsx
    22.3 KB · Affichages: 24

Dudu2

XLDnaute Barbatruc
Bonjour,
Je n'arrive pas à supprimer des lignes qui contiennent des cellules verrouilles. Pour info, mes cellules verrouillés contiennent des formules
Je ne vois pas le problème. Dans ton fichier on peut parfaitement supprimer des lignes avec formules et cellules verrouillées. A moins que tu n'aies pas précisé quelque chose ! Comme une protection...

A chaque fois que je rajoute des lignes, les formules ne se reportent pas automatiquement
Ça n'arriverait pas avec un tableau structuré (Accueil / Mise sous forme de tableau / choix...

j'aimerai obliger le remplissage de certaines cellules pour que mes calcules soient fait automatiquement.
Il faut d'abord déterminer la situation qui déclenche la vérification.
Peut être fait avec une formule ou une macro.
 

mamos

XLDnaute Nouveau
Bonjour,

Je ne vois pas le problème. Dans ton fichier on peut parfaitement supprimer des lignes avec formules et cellules verrouillées. A moins que tu n'aies pas précisé quelque chose ! Comme une protection..
Je parle dans le cas où je protège la feuille. Excel refuse la suppression des lignes parce que la colonne E intègre des formules et elle est verrouillé.

Ça n'arriverait pas avec un tableau structuré (Accueil / Mise sous forme de tableau / choix...

Excel refuse lorsque je protège la feuille.

Il faut d'abord déterminer la situation qui déclenche la vérification. Peut être fait avec une formule ou une macro.
Je veux la colonne D2 "Arreté" et D24 "Solde comptable" soient compléter par l'utilisateur au moment de remplissage de ce fichier. En effet, J'aimerais rendre la saisie de ces cellules obligatoire.
 

Dudu2

XLDnaute Barbatruc
Est-ce que la protection est là uniquement pour protéger les cellules de la colonne E et leurs formules ?
Si c'est le cas (confirme), il vaudrait mieux ne pas protéger la feuille et subir les contraintes qui vont avec et s'arranger pour que l'utilisateur ne puisse pas sélectionner (et donc modifier) les cellules en question avec la gestion de l'évènement Private Sub Worksheet_SelectionChange(ByVal Target As Range).
De cette manière tu pourrais utiliser un tableau structuré.
 

Dudu2

XLDnaute Barbatruc
Je veux la colonne D2 "Arreté" et D24 "Solde comptable" soient compléter par l'utilisateur au moment de remplissage de ce fichier. En effet, J'aimerais rendre la saisie de ces cellules obligatoire
"au moment de remplissage de ce fichier" n'est pas programmable.
Ou est-ce que ça veut dire à partir du moment on on tape une valeur quelconque dans une cellule quelconque à l'exception de ces 2 cellules ?
 

mamos

XLDnaute Nouveau
Bonjour,

"au moment de remplissage de ce fichier" n'est pas programmable. Ou est-ce que ça veut dire à partir du moment on on tape une valeur quelconque dans une cellule quelconque à l'exception de ces 2 cellules ?

En fait, il y a des personnes qui complètent ce fichier et me renvoie périodiquement mais elles oublient de remplir de ces deux cellules ( arreté et solde comptable). Donc, je voulais qu'excel lui refuse l'enregistrement de ce fichier et qu'il affiche un message d'alerte " merci de remplir cellule X"
 

Dudu2

XLDnaute Barbatruc
Voici un essai sans protection de feuille qui permet d'utiliser un tableau structuré où la réplication des formules est automatique. Ça évite du code pour le faire et c'est plus propre.

La colonne "Statut" est protégée contre les modifications (sauf insertion / suppression de ligne du tableau).

Les cellules à valoriser obligatoirement pour pouvoir enregistrer doivent être définies dans des Noms du Gestionnaire de nom car la suppression ou l'insertion de lignes dans le tableau déplace au moins la 2ème.

Voir le message #16.
 
Dernière édition:

Dudu2

XLDnaute Barbatruc
Il y a du code dans la feuille (voir le VBA du fichier sur la feuille).
Ce code n'est pas généralisable et cible spécifiquement la colonne "Statut" du tableau structuré "Tableau1". Bien sûr c'est adaptable mais il faut faire se débrouiller avec le code.

Si tu ne sais pas t'en débrouiller...

Je peux adapter le code pour pouvoir paramétrer le ou les noms des tableaux structurés et les colonnes à protéger. Mais ça restera "tableau structuré" orienté où insertion / suppression de ligne sont possibles.

Je peux ajouter aussi ajouter des paramètres pour des plages fixes (nommées de préférence) à protéger de la modification.

Ça dépend de ce que tu as comme situation.
 

mamos

XLDnaute Nouveau
Bonjour,

1. Est ce que la macro va s'activer automatiquement sans l'intervention de quelqu'un. Parce que lorsque j'ai ouvert le fichier, il propose d'activer les macros ou désactiver . Donc j'aimerai que les macros s'activent automatiquement.

2. Si je crée plusieurs onglets qui porte les mêmes caractéristiques, est ce que la macro prendra en compte les autres feuilles.

3. Je voulais aussi que la colonne D2 des autres feuilles soit rempli automatiquement, une fois la feuille 1 complelté ( pour pas que l'utilisateur rempli chaque feuille).

4. J'aimerai que ces colonnes ci-dessous (C1, D21 et D24) soient protégée de toutes modifications :

Totaux
0​
0​
Solde PV
0​
 

Dudu2

XLDnaute Barbatruc
1. Est ce que la macro va s'activer automatiquement sans l'intervention de quelqu'un. Parce que lorsque j'ai ouvert le fichier, il propose d'activer les macros ou désactiver . Donc j'aimerai que les macros s'activent automatiquement.
C'est un prompt lié à la sécurité Excel. Il n'y a rien à faire sinon de désactiver la sécurtié ce qui est à éviter et de toutes façons incontrôlable sur d'autres PCs.

2. Si je crée plusieurs onglets qui porte les mêmes caractéristiques, est ce que la macro prendra en compte les autres feuilles.
Il faudra reporter le code dans chaque feuille et adapter le nom des tableaux structurés qui va changer pour chaque feuille.
Dans la généralisation que j'essaie de faire ce ne sera plus le cas. Le code sera activé via le Workbook.
Aucun code ne sera nécessaire dans les feuilles.

3. Je voulais aussi que la colonne D2 des autres feuilles soit rempli automatiquement, une fois la feuille 1 complelté ( pour pas que l'utilisateur rempli chaque feuille).
Il faut le faire avec des formules et si ce n'est pas possible avec un code VBA dédié.

4. J'aimerai que ces colonnes ci-dessous (C1, D21 et D24) soient protégée de toutes modifications :
Dans la généralisation que j'essaie de faire on pourra inclure des plages de cellules, nommées de préférence. Car D21 et D24 changent d'adresse si les lignes du tableau varient. Mais ces adresses de plage "en dur" seront aussi possibles.

Donc il faut attendre.
 

mamos

XLDnaute Nouveau
OK. Est ce que tu pourras créer toi même plusieurs feuilles et essayer de l'adapter avec les critères cités. Et me dire quel modification à faire sur le code VBA en cas où je crée moi même des feuilles.

3. Je voulais aussi que la colonne D2 des autres feuilles soit rempli automatiquement, une fois la feuille 1 complelté ( pour pas que l'utilisateur rempli chaque feuille). Il faut le faire avec des formules et si ce n'est pas possible avec un code VBA dédié.

Si je mets de formule qui permet de reporter automatiquement la date indiqué dans la feuille 1, il faut pas que la macro oblige de complété cette cellule puisqu'elle est déjà automatique.

Il faudra reporter le code dans chaque feuille et adapter le nom des tableaux structurés qui va changer pour chaque feuille. Dans la généralisation que j'essaie de faire ce ne sera plus le cas. Le code sera activé via le Workbook. Aucun code ne sera nécessaire dans les feuilles.

Quels sont les changements à effectuer la macro de feuille 1 pour l'adapter sur la feuille 2, 3 ..... etc.

Est ce que ça serait possible d'intégrer 2 boutons dans chaque feuille pour insérer d'une ligne parmi les lignes date de l'opération et supprimer une ligne. comme ci-dessous:

A chaque fois qu'il clique sur "Ajouter ligne", une ligne se rajoute dans le tableau. Pareil pour la suppression.

essai.PNG
 
Dernière édition:

Dudu2

XLDnaute Barbatruc
OK. Est ce que tu pourras créer toi même plusieurs feuilles et essayer de l'adapter avec les critères cités. Et me dire quel modification à faire sur le code VBA en cas où je crée moi même des feuilles.
Non, je ne ferai rien de tout ça :)
Lorsque le code de généralisation que je fais sera terminé, la définition des zones à protéger se fera dans une constante de nom ZonesAProtéger dont je te donne la primeur:
'(T) pour désigner le nom d'un tableau structuré
'(C) pour désigner un numéro ou un nom de colonne à protéger du tableau précédemment défini
'(F) pour désigner un numéro ou un nom de feuille
'(P) pour désigner une plage à protéger (par son Nom en Gestionnaire de noms de préférence ou son Range -avec $-) de la feuille précédemment définie
' (Le signe $ dans les Range permet de les différencier des Noms du Gestionnaire de noms)
'Exemple
'ZonesAProtéger = "(T)Tableau1;(C)TVA;(C)Total TTC;(C)6;(T)Tableau2;(C)3;(P)CelluleNom;(F)Feuille 1;(P)$D$2:$D$3;(P)$D$2,$D$10:$D$12;(P)Zone51"


Si je mets de formule qui permet de reporter automatiquement la date indiqué dans la feuille 1, il faut pas que la macro oblige de complété cette cellule puisqu'elle est déjà automatique.
On verra après.

Quels sont les changements à effectuer la macro de feuille 1 pour l'adapter sur la feuille 2, 3 ..... etc.
Avec le code de généralisation, cela se fera sans report de code. Patience

Est ce que ça serait possible d'intégrer 2 boutons dans chaque feuille pour insérer d'une ligne parmi les lignes date de l'opération et supprimer une ligne. comme ci-dessous:
On verra après, c'est simple.
 

Discussions similaires

Statistiques des forums

Discussions
312 329
Messages
2 087 330
Membres
103 519
dernier inscrit
Thomas_grc11