Remplissage cellule suivant donnée

Bonjour @ tous. J'aimerai avoir un peu d'aide de votre part sur un problème qui je pense sera certainement vite résolu. En gros, je souhaiterai remplir des cellules en ayant choisis au préalable des données dans un menu déroulant. Etant donné que les dessins parlent d'eux-même, je vous joint donc un fichier d'exemple.

Je voudrais donc dans l'onglet "Remplissage", dans la cellule 6 et 8 que la donnée "Type de Panne" et "Conseil de réparation" s'affiche d'après le tableau dans l'onglet "Liste".

Ensuite, toutes les données des cellules 1 à 11 devront être reporté dans l'onglet "Suivi" par le biais d'un bouton "Envoyer les données". Ceci pour éviter d'effacer des données enregistrés, les onglets "Suivi" et "Liste" seront verrouillés pour l'utilisateur normal mais accessible par un administrateur. Une fois envoyé, une sauvegarde automatique va se créer à un endroit pré-défini sur le disque afin toujours d'effacer les données par mégarde.

Et pour finir, il serai possible, en écrivant simplement le numéro de la réparation, modifier les informations déjà enregistrés. Mais cela reste l'option de fin bien entendu et pas la principale.

Merci de votre aide, j'ai quelques bases mais vraiment pas tout ce qu'il me faut pour avancer. Ce fichier est bien entendu un brouillon et ne constitue pas le texte d'origine.

Je suis à votre écoute pour toutes vos questions pour résoudre mon problème. Merci.

Bonjour et bienvenue sur le forum

Un essai. Te convient-il ?

Merci. Je ne m'attendais pas à autant d'efficacité !!! Je suis sur le cul ^^ C'est exactement ça. Il y a juste un soucis, il n'est pas possible d'enregistrer les données si l'onglet "Suivi" est protégé. Ensuite, est-il possible d'envoyer les données uniquement si tout les champs en vert soit rempli ? Et enfin faire une sauvegarde automatique du classeur complet sur le disque dur (ou voir le top, envoyé par email) quand on envoi les données afin d'avoir constamment une sauvegarde du fichier à la dernière réparation.

Merci encore de ton aide précieuse qui me fera avancer dans mon travail. Sérieux, bon boulot

Edit : Comment-il est possible de protéger les formules présentes dans les cases 6 et 8 de l'onglet "Remplissage" par exemple ? Il suffit de faire "Suppr" et la formule disparaît. Est-il possible de la transformer en Macro afin d'éviter de la perdre ? Le but est vraiment d'éviter de perdre les données car ce genre de fichier sera utilisé par des personnes qui ne maîtrise pas forcement l'informatique.

Merci encore

Bonjour

Nouvel essai à tester.

Ne t'inquiète pas pour les formules des cellules jaunes. Si on les supprime, la macro les remet.

Quant à l'envoi d'une sauvegarde par mail, je ne sais pas faire car je n'ai pas de logiciel mail sur mon PC.

Désolé !

Bye !

Alors, pour le mot de passe c'est bon. Par contre, il me demande de remplir TOUTES les cases (même les rouges) afin de pouvoir envoyer les données (et le message m'indique que toutes les cases vertes doivent être rempli ^^) et lorsque j'efface la formule dans la case 6, elle ne réapparaît pas, même en re-choisissant le code panne

Tu écris :

Par contre, il me demande de remplir TOUTES les cases (même les rouges

Oups ! Je les avais oubliées ces deux-là.

lorsque j'efface la formule dans la case 6, elle ne réapparaît pas, même en re-choisissant le code panne

Cela n'est pas grave. Je te l'ai dit : quand tu vas cliquer sur le bouton bleu, la macro va remettre la formule et faire le report comme il faut.

OK ?

Yes ^^ Impeccable. Alors toute dernière requête pour l'instant, je souhaiterai mettre un filtre sur la ligne 2 sur la page "Suivi" afin de pouvoir juste consulter l'historique d'une réparation mais comme la feuille est protégé, impossible de pouvoir filtré. Une solution ?

Est-il aussi possible d'avoir la liste des macros sur le post car ce fichier là n'est pas le fichier principal et donc je voudrais les déplacer sur l'autre classeur. Merci encore de ton travail et bravo à tous aussi pour le site, il y a du boulot derrière, j'en sais quelque chose

Bonne continuation

Tu écris :

je souhaiterai mettre un filtre sur la ligne 2 sur la page "Suivi" afin de pouvoir juste consulter l'historique d'une réparation mais comme la feuille est protégé, impossible de pouvoir filtré. Une solution ?

Il suffit d’ôter à la main la protection et de mettre le filtre. A la première occasion, la macro remettra la protection.

Est-il aussi possible d'avoir la liste des macros sur le post car ce fichier là n'est pas le fichier principal

Les macros sont accessibles en tapant simultanément sur les touches « Alt » et « F11 »

Si tu as des problèmes, envoie ton fichier « principal »

Bye !

Petite demande de dernière minute. Il est possible de remonter les données en indiquant le numéro de la réparation. Comment remonter les infos en ayant rempli 2 autres cases, par exemple la date et l'heure. C'est à dire, on veux voir quel réparation à été faite tel jour à tel heure, donc on rempli les 2 cases et on remonte les infos.

Merci encore de l'aide

Il subsiste une erreur, en faisant la remonté des infos, tout va bien, je modifie mais quand je r'envoi les données, il m'indique une erreur "Erreur d’exécution 13 - Incompatibilité de type" et en faisant le débogage, il m'indique l'erreur sur cette ligne :

'On vérifie que tous les champs sont remplis sauf les 10,11,12 et 13

Flag = 0

For i = 2 To 39 Step 3

If i <> 29 And i <> 32 And i <> 35 And i <> 38 Then

If Cells(i, "H").Value = "" Then

Range(Cells(i, "H"), Cells(i + 1, "J")).BorderAround Color:=-16776961

Flag = 1

Else

Range(Cells(i, "H"), Cells(i + 1, "J")).BorderAround Weight:=xlMedium

End If

End If

Next i

If Flag = 1 Then

MsgBox " Saisies incomplètes !" & Chr(13) & Chr(13) & _

"Toutes les cellules de 02 à 09 doivent être remplies", 16

End

End If

J'ai modifié légèrement le fichier, il y a juste 2 cases qui se sont rajoutés dans l'onglet "Remplissage".

Tu écris :

donc on rempli les 2 cases et on remonte les infos.

Voilà : la version 4 te le permettra.

Mais attention, ces remontées sont dangereuses !

Suppose que tu aies fait une première remontée d’info. Toutes les cellules sont remplies. Tu décides d’en faire remonter une autre pour une date donnée.

Tu modifies les cellules date et heure et, à ce moment précis, avant d’avoir fait ton double clic, tu es dérangé par le téléphone, ou une collègue craquante…

Quand tu reviens à ton problème, si, ne sachant plus où tu en étais, tu cliques sur le bouton bleu, tu as tout faux : tu auras modifié la réparation dont le numéro est sur la 1ère cellule verte !

Bye !

Peux tu regarder le fichier joint dans ma dernière réponse s'il te plait, je l'ai modifié et donc il faudrait faire les modifs à partir de ce fichier. Merci.

Tu écris :

Peux tu regarder le fichier joint dans ma dernière réponse s'il te plait, je l'ai modifié et donc il faudrait faire les modifs à partir de ce fichier.

J'ai regardé.

Tu as en effet changé beaucoup trop de choses : il faudrair revoir toute la macro... et courir le risque que tu modifies à nouveau.

J'abandonne.

Désolé !

Bye !

Ok, merci quand même de ton aide. J'ai quand même une bonne base pour avancer. Je ne pouvais donner le fichier de suite car entre temps, il a évolué. Désolé. Je sais très bien que cela représente beaucoup de travail et surtout au volontariat. Je vais reprendre la base et voir si je peux quand même modifier le fichier plus simplement.

Tu pourrai m'expliquer cette formule ?

'On met les formules dans les champs 6 et 8

Cells(17, "H").FormulaR1C1 = "=VLOOKUP(R[-3]C,Liste!R[-15]C[-7]:R[-12]C[-5],2,0)"

Cells(23, "H").FormulaR1C1 = "=VLOOKUP(R[-9]C,Liste!R[-21]C[-7]:R[-18]C[-5],3,0)"

Les chiffres font références à des lignes et des colonnes ? Comment les modifier pour l'adapter ?

Bonjour

Tu écris :

Tu pourrai m'expliquer cette formule ?

'On met les formules dans les champs 6 et 8
Cells(17, "H").FormulaR1C1 = "=VLOOKUP(R[-3]C,Liste!R[-15]C[-7]:R[-12]C[-5],2,0)"
Cells(23, "H").FormulaR1C1 = "=VLOOKUP(R[-9]C,Liste!R[-21]C[-7]:R[-18]C[-5],3,0)"

Les 2 lignes de code ont pour effet d’écrire une formule respectivement dans les cellules H17 et H23 de la feuille de calcul active.

Pour avoir la syntaxe exacte, je l’ai enregistrée, c’est-à-dire que j’ai procédé de la façon suivante :

1 – Dans la feuille active, à la cellule H7 où je veux que la macro écrive la 1ère formule, je saisis la formule que je veux obtenir :

=RECHERCHEV(H14;Liste!A2:C5;2;0)

2 – Je sélectionne cette cellule contenant la formule

3 – J’enregistre une macro en faisant :

• Clic sur l’onglet ‘’Développeur’’ dans le menu

• Clic sur le bouton ‘’Enregistrer une macro’’ dans le pavé ‘’Code’’, dans le bandeau à gauche

• Je retiens le nom proposé et je clique sur OK

• Je clique dans la barre de formule, à la suite de la formule, comme si j’ avais oublié d’y mettre quelque chose

• Je valide en cliquant sur la touche Entrée

• Je clique sur le bouton ‘’Arrêter l’enregistrement’’, là où j’ai précédemment tapé ‘’Enregistrer une macro »

3 - Je tape sur les touches ‘’Alt + F11 ‘’ pour ouvrir VBA

• Je recherche dans les modules en faisant » »Ctrl + R » la macro dont j’ai noté le numéro

• J’ y découvre la ligne qui m’intéresse :

ActiveCell.FormulaR1C1 = "=VLOOKUP(R[-3]C,Liste!R[-15]C[-7]:R[-12]C[-5],2,0)"

4 - Il ne me reste plus qu’à remplacer ‘’Activecell » par la bonne adresse de la cellule : ‘’Cells(17, "H")’’ et à copier puis coller le tout au bon endroit dans ma macro, puis à recommencer pour la 2° formule

OK ?

Bye !

Rechercher des sujets similaires à "remplissage suivant donnee"