Cellule sur feuille pour renvoyer dans une page d'un fichier

Bonjour,

et excellent printemps à tous ...Enfin.

Pour commencer, iun grand merci à toutes les personnes qui prendront le temps de me lire et de m'aider.

Je ne suis pas très fort sur excel ...c'est le moinjndre que l'on puisse dire.

Aussi, si pour ma qiuestion il est necessaire de faire une macro, pouvez-vous me guider "pas à pas". Comme un enfants de deux ans !

Sur le fichier joint, je souhaitr que sur la feuille correxpondant à l'onglet to do, il y ait une celluloe dans laquelle je puisse rentrer le numero de la fauille que je veux rejoindre.

j'écris ...7 et je me retrouve sur la feuille 7

J'ecrit 889 et je me retrouve sur la fauille 889.

Sur le fichier joint, pour des raisons de poids de doc, c'est une version avec juste quelques pages.

Dans mon vrai fichier, il ty en a plus de 3000 !

Par avance un grand merci.

Rémi

Bonjour borombi,

Tiens mon petit, tonton frangy a mis ce code dans le module de la feuille "to do".

N’hésites à poser des questions, nous aussi on a eu 2 ans.

Private Sub Worksheet_Change(ByVal Target As Range)
    'En cas d'erreur, on passe à l'instruction suivante (pour éviter un plantage si l'opérateur saisit une valeur _
    qui ne correspond pas à une feuille présente dans le classeur
    On Error Resume Next
    'Si la modification ne concerne qu'une cellule et que la valeur est saisie en C2
    If Target.Count = 1 And Target.Address = "$C$2" Then
        'Le nombre saisi est converti en texte correspondant a un nombre a 3 chiffres
        F = CStr(Format(Target, "000"))
        'La feuille ayant ce nom est sélectionnée
        Sheets(F).Select
    End If
End Sub

A+

17prospection.xlsm (240.56 Ko)

Cher Tonton,

Un grand merci ! Ca marche...

Je suis toujours très impressionné par ceux qui savent faire de la programmetion.

J'ai une autre demande :

Dans mon onglet todo j'aimerai poursuivre la serie des colonnes : numero, client, echeance et etat.

Lorsque j'utiloise la copie incrementée, ça ne marche pas du tout.

A la suite de 3,4 , j'aimerai 5 -evidemment- mais avec la formule "actualisé " que l'on trouve pour le 4.

idem pour le reste.

Je ne sais pas si je suis très clair ?

Encore merci pour votre aide.

Rémi, deux ans et quelques semainbes

Tu peux t'éviter d’avoir à renseigner la liste de la feuille "to do".

Dans l’exemple joint, à chaque ouverture du classeur, la procédure "RafraichirListeFeuille" effectue la mise à jour de la liste. Il n’y a plus de formules, les valeurs étant copiées dans les feuilles.

A+

37prospection.xlsm (242.46 Ko)

Frangy,

merci pour ta réponse.

Je ne suis pas certain d'avoir pigé.

En fait, sur mon exemplaire j'ai 3000 feuilles.

je souhaiterais avoir la liste de 1 à 3000 et pour chaque item -échéance, client, état - qu'au fur et à mesureque je remplis dans la fcihe 2345 le nom du client, celui-ci se copie "automatiquement" dans la cellule de la feuille to do à la ligne 2345 de la colonne client.

idem pour état -là il s'agit de copier un menu déroulant", et echeance -copier le resultat de la cellule echeance -O6 je crois-.

Ce que j'arrive à faire, c'est de mettre les bonnes formules dans to do mais à la main.

Si je recopie comme on recopiue une série, les references des cellules ne sont pas les bonnes et donc...ça ne va pas !

Je ne sais pas si ta solution permet ça car lorsque j'ai ouvert le doc, je n'ai pas constaté de changement.

j'espère que ma demande est plus claire maintenant..pas très facile à expliquer !

Merci

Rémi

Voici ce que fait le programme :

A l’ouverture du classeur, il contrôle le nom de chacune des feuilles.

Si la feuille porte un nom différent de "parametre" ou "to do", le programme copie le numéro, le nom du client, l’échéance et l’état dans ladite feuille puis inscrit ces données dans la feuille "to do".

Donc, tu n’a plus qu’à te préoccuper de renseigner ta fiche client. Pour ce qui est de la feuille "to do", le programme s’en charge.

Essaie par exemple de créer la fiche 006 et de renseigner les paramètres nom du client, échéance et l’état. Puis tu enregistres et fermes le classeur.

A la prochaine ouverture, tu verras que le tableau est mis à jour.

A+

c'est génial !

En effet, j'ai essayé et ça fonctionne.

J'iamgine qu'il s'agit d'un macro.

Où puis-je la trouver pour la copier dans mon classeur complet avec les trois mille onglets ?

De plus, si dans le tableau todo, je fais des tris par date d'echeance ou ok pas ok est-ce que la macro va suivre ?

Encore bravo et merci !

Où puis-je la trouver pour la copier dans mon classeur complet avec les trois mille onglets ?

La procédure "RafraichirListeFeuille" se trouve dans le module standard Module1 (sous Modules / Module1).

Elle est appelée à l'ouverture par la procédure évènementielle Workbook_Open qui se trouve sous ThisWorkbook.

De plus, si dans le tableau todo, je fais des tris par date d'echeance ou ok pas ok est-ce que la macro va suivre ?

Le programme suit l'ordre de création des feuilles. Si tu souhaites qu'un tri particulier soit fait à l'ouverture du classeur, il faut rajouter des lignes de code. Par contre, rien ne t'empêche de faire les tris que tu souhaites en "manuel". A l'ouverture suivante, la liste sera remise à jour dans l'ordre initial.

A+

Frangy,

pour le point deux, c'est ok et pigé.

En revanche quand tu écris :

La procédure "RafraichirListeFeuille" se trouve dans le module standard Module1 (sous Modules / Module1).

Elle est appelée à l'ouverture par la procédure évènementielle Workbook_Open qui se trouve sous ThisWorkbook.

ce n'est pour moi pas très clair.

Concrètement, dois-je récuperer "quelqeus chose" dans le classeur sur laquel tu as travaillé -celui qui est en pj- et si oui où dois-je recuperer le petit programme -macro ?- qui permet de mettre à jour mon onglet todo.

je suis désolé par ces questions un peu ras la moquette mais je ne sais vraiment pas comment faire.

Merci de ton aide

Rémi

Bon, on va y aller progressivement.

Est-ce que tu vois l’onglet Développeur dans le ruban (entre les onglets Affichage et Compléments) ?

merci de m'accorder du temps.

Je monte ma boîte et je n'ai à ce jour pas les moyens de m'offrit un mogiciel de gestion de prospection.

De plus ceux qui sont libres, sont souvent trop détaillés..trop ceci pas assez celà.

Bref, je preferre un programme simple.

Tu contribues à le créer et merci beaucoup.

Pour répondre à ta question, oui j'ai l'onglet développeur..c'est dèjà pas mal, non !

Donc après avoir cliqué sur l'onglet Développeur, tu peux cliquer sur l’icône Visual Basic à gauche du ruban et là, tout s'éclaire (enfin j'espère).

Bien cher Tonton,

en fait...non... tout ne ns'éclaire pas.

En effet, j'essaie de "copier" ce que tu fais sur l'exemplaire telechargeable -qui n'est qu'une copie résumé - sur mon exemplaire sur lequelle je souhaite travailler.

Donc quand je clique sur visual basic, il ne me propose que la feuille 3 et non pas l'enbsemble du classeur.

De plus, je ne sais pas si tu as "créé" quelques chose que je dois importer ou copier dans mon classeur..

Je penses qu'au fur et à mesiure de mes questions:remarques tu affines la réalité de mon niveau sur excel .....

Rémi

Dans la fenêtre VB, si tu ne vois pas l'explorateur de projet, appuie sur CTRL + R

A+

Frangy,

je bloque vraiment sur cette étape.

je ne parviens pas à faire sur ma matrice excel, ce que t as été capable de faire sur celle que j'ai mise en ligne.

J'ai vraiment besoin d'aide sur ce cas là pas à pas.

En effet, quand j'appuie à la fois sur les touche ctlr +R il ne se passe rien.

de plus, je suppose que pour actualiser ma feuille to do avec le nom des clients, les échéances et l'état sans passer par un systhème de formuiles, il a fallu créer quelque chose sur l'exemplaire en ligne ?

Si oui, il faut que ce "quelques chose" je le transfère ou copie sur mon exemplaire. J'ai bon là ?

Encore merci pour ton aide.

Rémi

Bonjour,

Il faut tout d'abord être certain que tu accèdes normalement à la fenêtre VBE et en particulier à l'explorateur de projets.

Voici ce que tu dois voir à l'écran avec le fichier que je t'ai envoyé (après avoir cliqué sur sur Visual Basic et activé l'explorateur de projets via Ctrl + R ou clic sur l'icône du ruban).

vbe

A+

je crois que c'est bon. En pj la capture s'écran.

ecrane

Donc tu peux comprendre ce que je te disais précédemment :

La procédure "RafraichirListeFeuille" se trouve dans le module standard Module1 (sous Modules / Module1).

Elle est appelée à l'ouverture par la procédure évènementielle Workbook_Open qui se trouve sous ThisWorkbook.

A+

en d'autres termes, dois-je faire un copié coller de ce que l'on voit à l'ecran ou pas.

Car s'il ne le faut pas, comment est-ce possible que excel "sache" par avance ce que je veux compiler dans la feuille todo ?

Oui, tu dois faire un copier / coller des 2 procédures

  • "RafraichirListeFeuille" dans le module standard Module1 (sous Modules / Module1).
  • "Workbook_Open" sous ThisWorkbook

La procédure Worksheet_Change dans le module de feuil3 (to do) était déjà en place.

L'autre procédure "RenommeOnglets" dans le module standard Module1 (sous Modules / Module1) n'est pas de moi.

Pour répondre à ta deuxième question, sache que Excel ne peut pas inventer quelle est la feuille à traiter.

C'est pour cela que l'on prend la peine de l'indiquer dans la procédure.

Si tu relis la procédure "RafraichirListeFeuille", tu vas voir la ligne suivante

With Worksheets("to do")

qui indique que les instructions qui vont suivre et qui seront précédées d'un point devront s'appliquer à la feuille "to do".

Exemple :

.Range("D" & Ligne) = Ws.Range("C2")

signifie "Affecte la valeur de la cellule C2 de la feuille représentée par la variable Ws à la cellule D(n° de ligne) de la feuille "to do".

Facile, non ?

A+

Rechercher des sujets similaires à "feuille renvoyer page fichier"