Code vba
Résolu
guerando
Messages postés
331
Date d'inscription
Statut
Membre
Dernière intervention
-
guerando Messages postés 331 Date d'inscription Statut Membre Dernière intervention -
guerando Messages postés 331 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Pour termier mon fichieril faudrait rajouter un code... si c'est possible :
j'ai un premier fichier "formulaire G" qui est rempli par un technicien sur excel oneline (sans vba possible)
Les informations sont récupérer dans un fichier, pour le comptable de l'entreprise (avec code).
Dans le fameux fichier de recuperation de données, et dans l'onglet "Dégustation Cadeau Casse Perso" (qui récupere les infos de du meme onglet mais dans le fichier "formulaire" ) : j'ai rajouté une colonne en I pour dire si c'est comptabilisé. Serait ce possible dans le meme code ou dans un autre, de dire que sur les lignes où il y a noté "oui" alors il faut sur le fichier "formulaires_G" onglet "Dégustation cadeau ..." sur les même lignes les cellules des colonnes C à H soient sélectionnées, clic droit , mise en forme, protection, cocher verouiller, puis proteger l'onglet (revision / proteger/ cocher "selectionner les cellules deverouillées").
Attention avant de faire cela il faudra enlever la protection de la feuille.
Le but étant que le comptable une fois qu'il a mis "oui" (c'est comptabilisé) le technicien ne puisse pas modifier quoi que ce soit sur ces lignes déja comptabilisées...
Pouvez vous m'aider ?
bonne journée
Merc
https://www.cjoint.com/c/HKlmyWincgl
https://www.cjoint.com/c/HKlmBZEkFpl
Pour termier mon fichieril faudrait rajouter un code... si c'est possible :
j'ai un premier fichier "formulaire G" qui est rempli par un technicien sur excel oneline (sans vba possible)
Les informations sont récupérer dans un fichier, pour le comptable de l'entreprise (avec code).
Dans le fameux fichier de recuperation de données, et dans l'onglet "Dégustation Cadeau Casse Perso" (qui récupere les infos de du meme onglet mais dans le fichier "formulaire" ) : j'ai rajouté une colonne en I pour dire si c'est comptabilisé. Serait ce possible dans le meme code ou dans un autre, de dire que sur les lignes où il y a noté "oui" alors il faut sur le fichier "formulaires_G" onglet "Dégustation cadeau ..." sur les même lignes les cellules des colonnes C à H soient sélectionnées, clic droit , mise en forme, protection, cocher verouiller, puis proteger l'onglet (revision / proteger/ cocher "selectionner les cellules deverouillées").
Attention avant de faire cela il faudra enlever la protection de la feuille.
Le but étant que le comptable une fois qu'il a mis "oui" (c'est comptabilisé) le technicien ne puisse pas modifier quoi que ce soit sur ces lignes déja comptabilisées...
Pouvez vous m'aider ?
bonne journée
Merc
https://www.cjoint.com/c/HKlmyWincgl
https://www.cjoint.com/c/HKlmBZEkFpl
A voir également:
- Code vba
- Code ascii - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code blocks - Télécharger - Langages
1 réponse
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, je regarde.
regardé, pas encore fait, cela me semble très faisable.
cependant, j'hésite à propos de quand le faire, et pour quels "oui".
à l'ouverture et/ou à la fermeture de la synthèse, au moment ou un "non" devient "oui", ou via un bouton ou autre chose déclenché par le comptable?
pour tous les "oui", oui uniquement pour les nouveaux "oui"? si les nouveaux, il faudrait mémoriser quelque part dans la synthèse ceux qui sont déjà protégés, par exemple via la valeur en colonne J.
pour tester, j'ai fait ceci, qui déclenche quand le comptable change un "non" en "oui":
ceci est à mettre dans un nouveau module:
ceci est mettre dans le module de la feuille "Dégustation Cadeau Casse Perso":
regardé, pas encore fait, cela me semble très faisable.
cependant, j'hésite à propos de quand le faire, et pour quels "oui".
à l'ouverture et/ou à la fermeture de la synthèse, au moment ou un "non" devient "oui", ou via un bouton ou autre chose déclenché par le comptable?
pour tous les "oui", oui uniquement pour les nouveaux "oui"? si les nouveaux, il faudrait mémoriser quelque part dans la synthèse ceux qui sont déjà protégés, par exemple via la valeur en colonne J.
pour tester, j'ai fait ceci, qui déclenche quand le comptable change un "non" en "oui":
ceci est à mettre dans un nouveau module:
Option Explicit Public Const fichier_formulaire = "https://d.docs.live.net/169216252f734be3/Documents/Formulaires_G.xlsx" Sub blockstock(ligne As Long) Dim form As Workbook, degust As Worksheet Set form = Workbooks.Open(fichier_formulaire) Set degust = form.Sheets("Dégustation Cadeau Casse Perso") degust.Unprotect degust.Range(degust.Cells(ligne, 3), degust.Cells(ligne, 8)).Locked = True degust.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True form.Save form.Close End Sub
ceci est mettre dans le module de la feuille "Dégustation Cadeau Casse Perso":
Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 9 And Target.Row > 6 And Target = "oui" Then blockstock (Target.Row) End If End Sub
bonne soireé
j'ai fait des test et ca fonctionne trés bien, cependant lorsque j'ai voulu enlever les tests (j'ai supprimer ce qui avait dans les lignes, dans les deux fichiers, remis non au lieu de oui) puis refait des tests... ca ne marche pas sur les lignes ou la macro à déja marché (par exemple ici sur les deux premieres lignes). Peut etre est ce en lien justement avec ta question "pour tous les "oui", oui uniquement pour les nouveaux "oui"?" ca serait pour l'ensemble des oui et pas uniquement pour les nouveaux, est ce possible ?
merci
bonne soirée
donc cela ne se fait pas pour ceux qui sont oui et ne sont pas modifiés.
pour ceux-là, il faut repasser en non, puis en oui.
ou bien adapter le code. le code peut le faire pour tous les oui: dis moi quand le code devrait faire cela.