Question EXCEL : liens entre feuille

Fermé
kwanice Messages postés 225 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 17 juin 2020 - 9 juin 2004 à 15:05
 nelrak - 21 janv. 2010 à 14:47
Salut à tous, on va voir s'il y a des doués par ici..:p

j'ai des liens entre plusieurs feuilles ou classeurs différents
on a des formules du style =[nomdufichier.xls]feuille!$A$1
alors peut-on donner comme 'nomdufichier.xls' ou comme 'feuille' une association de cellule?
ex : =[A1+A2.xls]B1+B2!$A$1
ca serait par exemple pour avoir un lien avec un fichier excel (nom_prenom.xls) par rapport à une cellule A1 qui contient le nom et une cellule A2 qui contient le prénom.
Pensez-vous que cela est possible? si oui comment?..par macro? mais comme je m'y connais pas bien en macro je vois pas.
MERCI

Ancien webmaster de ... 
Nouveau newbbie de ccm !..mdr HAVE FUN ! THAT'S ALL !
A voir également:

19 réponses

Utilisateur anonyme
19 juin 2004 à 16:40
Bonjour kwanice,

Je ne suis que programmeur d'occase pour le plaisir. En effet
bien que beaucoup parle de VB comme d'une mdr...
moi, j'apprécie beaucoup puisque toute la suite Office comporte
du VBA, qui nous donne aussi accèss au VBS.

Alors pour tes questions :

"tu aurais pas un conseil pr que je m'y mette?"

Tu peux lire ce petit tutorial(en construction) que j'ai écrit,
ça devrait t'aider à comprendre la routine que j'ai fait :
http://www.oricom.ca/lupin/Excel/Index.htm
J'ai pas regardé ici sur CCM, s'il avait un tutorial sur le VBA,
il te suffit de recherche sur le site :)

"est-ce que l'on peut creer la meme procédure mais sans que ca enregistre?"

Cette procédure n'enregistre pas de fichier, bien sur à l'exécution
lorsque le lien est déposé dans la cellule, Excel tente d'ouvrir le lien
pour effectuer une mise à jour de la donnée.

Deux possibilité, soit on rajoute une instruction qui dit à Excel
de ne pas effectuer de mise à jour, soit tu crée le fichier. Même
en plaçant l'instruction [app..enabled..=false], a toutes les fois
ou tu ouvrira ce fichier, il tentera de trouver le fichier de tous les
liens.

Lupin
4
Utilisateur anonyme
19 juin 2004 à 17:02
Re :

Voici la procédure corrigé :)

Sub CreerLien()

Dim Fonction, Plage As String
Dim Nom, Prenom As String
Dim Boucle As Integer

Const LimiteInf = 9
Const LimiteSup = 70

'Empêche la mise è jour des liens
Application.DisplayAlerts = False

'Variable témoin
Fonction = "'E:\Mme BONIFASSI\[ALFONSI_François.xls]Absences_2004'!$F$42"

For Boucle = LimiteInf To LimiteSup
Plage = "D" & Boucle 'Création de l'indice
Range(Plage).Select 'Sélection de la cellule
Nom = ActiveCell.Offset(0, -3).Value 'Capture Nom
If (Nom <> "") Then
Prenom = ActiveCell.Offset(0, -2).Value 'Capture Prénom
If (Prenom <> "") Then
'Création de la formule du lien
Fonction = "='E:\Mme BONIFASSI\["
Fonction = Fonction & Nom & "_" & Prenom
Fonction = Fonction & ".xls]Absences_2004'!$F$42"
ActiveCell.Offset(0, 0).Value = Fonction
Else
ActiveCell.Offset(0, 0).Value = "Vide"
End If
Else
ActiveCell.Offset(0, 0).Value = "Vide"
End If
Next Boucle

Application.DisplayAlerts = True
Range("A1").Select

End Sub

Lupin
2
Bonjour Arsène!
Le topic date, mais je rencontre le même problème que Kwanice.
Votre réponse à l'air d'être adaptée à son fichier exemple, je n'arrive pas à comprendre ce script pour l'utiliser avec mes fichiers.
Pouvez vous m'aider??
Merci de votre réponse,
Juju
0
Salut!

Mon problème est différent mais dans la forme peut sembler la même chose.
J'ai une feuille BASE qui reprend les caractéristiques de produits, et une autre feuille qui sert de masque d'impression. L'utilité du fichier est de pouvoir imprimer des étiquettes (je sais je sais, pourquoi Excel?? ben parce que l'imprimante me sort du bon boulot qu'avec Excel...).

Enfin bref... Donc dans mon masque, je tape le numéro de mon produit dans une cellule donnée et une fonction de recherche me renvoient les différentes valeurs qui sont au format texte. Le hic vient quand il s'agit de copier/coller le code barre correspondant au produit: ça n'est pas un nombre mais une image.

Donc soit j'enregistre toutes les images dans le fichier ce qui n'est pas vraiment intéressant (à 185ko l'image par 128 produits soit plus de 23Mo) soit je demande à une macro ou une fonction d'aller chercher l'image, de l'ouvrir, de modifier les dimensions de l'image pour qu'elle rentre dans la cellule cible et enfin après impression de supprimer cette image des cellules cibles.

Ca ne parait pas compliquer comme problème, mais quand t'es novice c'est autre chose... lol Donc je me tourne vers vous pour savoir au moins comment je pourrais faire.

Merci d'avance
0
bonjour, je souhaiterais recopier des informations d'une feulle à l'autre tout en gardant la meme forme et meme couleur.

En fait je voudrais que les info que vont rentré les gens dans la feeulle A se retrouve automatiquement dans la feuille B toute en gardant la meme couleur de fond! c'est possible???

Merci d'avavnce
2
hourrrah Messages postés 6915 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 10 octobre 2005 504
9 juin 2004 à 15:11
salut kwanice,
..en construisant ta formule, le lien avec les classeurs et feuilles successifs ( et certaines cellules de celle-ci) se fait automatiquement...
Il suffit que les divers classeurs entre lesquels on navigue soient ouverts.

Cordialement  et @+ 
Chi va piano va sano..chi va sano va più lontano e più alto
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kwanice Messages postés 225 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 17 juin 2020 18
9 juin 2004 à 15:27
oué mais non...
enfait c pas pour ca

si en cellule A1 = Pierre
en A2 = DURAND
j'aimerais que le lien que je fais avec cette feuille de classeur utilise les cellules A1+A2 pour avoir PierreDURAND par ex.
[PierreDURAND.xls]feuille!
ok?

Ancien webmaster de ... 
Nouveau newbbie de ccm !..mdr HAVE FUN ! THAT'S ALL !
1
hourrrah Messages postés 6915 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 10 octobre 2005 504
9 juin 2004 à 16:12
Re..
1) une association de cellules ne peut devenir ipso facto un fichier .xls.. elle peut, par contre, constituer une matrice ou avoir un nom..
2) dans le cas particulier, il ne s'agit d'ailleurs même d'une association de cellules mais d'une somme de cellules...
3) remarque étant faite qu'une telle somme ne donnera certainement pas, de plus, le résultat indiqué..

..alors...

Cordialement  et @+ 
Chi va piano va sano..chi va sano va più lontano e più alto
1
Pour mettre sur une feuille, dans la cellule A1(exemple), les données d'une autre feuille, dans la cellule A1 mettre = , ensuite cliquer sur la feuille contenant les données et sur la cellule à mettre en A1, faire entrée et les données sont transférées .
Clique sur afficher la barre de formule permet de voir la composition de la formule.
1
SdQY Messages postés 190 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 12 janvier 2018 33
10 juin 2004 à 18:15
Salut!

Je ne comprends pas bien ce que tu cherches à faire, ni à quoi cela peut te servir.
Pour voir apparaître un nom de fichier particulier, par exemple « Jean-Pierre.xls » dans une formule faisant référence à ce fichier particulier, il faut sauvegarder ce dernier sous le nom « Jean-Pierre ».
Il n’y a pas de solutions simples pour cela et même en macro cela ne me paraît pas évident.
Précise nous l’objet de ta question ou la finalité de ton problème et peut-être pourrons nous te faire une réponse + pertinente.

@+
SdQY
1
kwanice Messages postés 225 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 17 juin 2020 18
10 juin 2004 à 22:24
je vais t'expliquer concrétement :
je dois faire un lien entre uen fichier qui porte le nom+prénom d'un salarié et un tableau récapitulatif qui comporte les noms de tous les salariés.
sur ce tableau la chaque ligne correspond à un salarié, et des liens sont fait entre ce tableau récapitulatif et les différents correspond à chacun des salariés.
pour automatiser tous ca, j'aurais aimé créer une formule qui reprenne le nom+prénom du salarié que j'auré saisie manuellement sur ce tableau récap. (qui a un lien avec un fichier du meme nom...)
(vous allez me demander pkoi?...parcequ'en fait ce tableau récapitulatif change souvent, les salariés aussi..donc en faisant une formule qui associe le nom+prénom je ne suis pas obligé de conserver les meme liaisons...on va dire c plus "dynamique")
enfin si quelqu'un a une idée...je suis preneur aussi..


c mieux expliquer?...i hope...

sinon vé mettre le ficher en ligne ca sera plus simple..mdr

Ancien webmaster de ... 
Nouveau newbbie de ccm !..mdr HAVE FUN ! THAT'S ALL !
0
hourrrah Messages postés 6915 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 10 octobre 2005 504 > kwanice Messages postés 225 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 17 juin 2020
10 juin 2004 à 23:52
re..salut kwanice,
Lier des tableaux entre eux de façon à ce que les éléments de tableaux détails soient repris dans un tableau récapitulatif ne pose pas de problème particulier. Cela suppose tout juste une toute petite macro de 3-4 lignes à activer pour extraire, créer, actualiser et trier, autant que de besoin, le tableau récapitulatif.

L'intervenant précédent pourra, sans doute, te détailler le montage du dispositif.

Pour ma part, je pense toutefois qu'un gestionnaire de base de données comme access conviendrait mieux pour ce job qu'un tableur qui a plutôt vocation à gérer des nombres.

Cordialement  et @+ 
Chi va piano va sano..chi va sano va più lontano e più alto
0
Bonjour,
salut moi je voudrait ouvrir une base de donnees mais elle ne s ouvre que partiellement merci
0
Bonjour,

comment fait-on ça sous Excel,

Alimenter le contenu d'une liste en fonction d'un choix d'une autre liste?

Exemple: J'ai une cellule(par exemple la cellule 1) dont les valeurs d'une liste peu être 'Jour de la semaine' et l'autre valeur 'Mois de l'année', si l'utilisateur sélectionne Jour de la semaine dans la liste de la cellule 1, je veux que le contenu de la liste de la colonne 2 par exemple soit 'Lundi, mardi, mercredi etc...si l'utilisateur choisi 'Mois de l'année' le contenu de la liste de la colonne 2 sera Janvier, Février, mars etc

est-ce que ça se fait?

Merci JacK
1
Bonjour,
je suis devant un problème avec mon fichier excel car je dispose d'une liste de choix et je voudrais qu'en fonction de l'élément choisi dans cette même liste ça me ramène vers une autre feuille du classseur (soit automatiquement soit par un bouton de validation)

Comment faire? macro ? VBA?

Merci d'avance pour vos solutions
1
SdQY Messages postés 190 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 12 janvier 2018 33
11 juin 2004 à 18:03
Bonsoir,

Je reformule pour être sur d'avoir bien compris.

Tu as, pour chaque salarié un fichier Excel et tu souhaites récupérer dans un tableau récapitulatif certains élements de chaque fichier individuel.
En suposant que c'est bien cela le problème à résoudre:

1°) Utiliser le nom et le prénom d'un salarié comme lien n'est pas une bonne idée, car le jour où tu auras 2 homonymes (nom+prénom), tu ne pourras plus exploiter ton travail. Je te conseille de coder chaque salarié et de te servir de ce code comme lien. Le N° de Secu est unique et peut très bien faire l'affaire.
2°) Es-tu sur d'avoir besoin d'un fichier excel par salarié? D'habitude une ligne / personne suffit largement et pour la récap il suffit d'utiliser la fonction RechercheV(.,.,.,faux). Ce peut-être une feuille d'un même fichier ou un fichier différent.

Je suis assez d'accord avec hourrrah. Ton problème relève plus de l'utilisation d'une base de données qu'Excel. Cela étant, Excel est capable de très bien s'en sortir et c'est plus facile à mettre en oeuvre qu'une base Access par exemple.
Il ne faut jamais oublier que mettre en place une base de données, même avec des outils conviviaux comme Acces demande un minimum de connaisance en programmation et surtout une bonne analyse préalable.
J'ai pour habitude de dire que si j'affecte un coéfficient de difficulté de 1 pour le traitement de texte, alors il est de 10 pour un tableur et 100 pour une base de donnée, et avec 100 je suis probablement en dessous de la réalité.

Je te conseille donc, à moins que tu ne sois parfaitement rodé à la mise en place de base de données de voir si tu ne peux pas simplifier ton organisation en n'ayant qu'un fichier où tous les salariés sont en ligne, et où chaque info sur le salarié est dans une colonne (tj la même) du style:
N°secu/Nom/Prénom/date naissance/date entrée/fonction/ ....
Si tu tiens à ton Nom+prénom, tu peux même te créer un colonne en amont de toutes les autres (masquée eventuellement) du type Nom&Prénom.

@+
SdQY
0
kwanice Messages postés 225 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 17 juin 2020 18
12 juin 2004 à 10:11
bah merci bcp pour ton message..mais je pense que g vrément du mal à expliquer ou a me faire comprendre...mdr

1° pr la base de donné, j'i déja utilisé mais ce n'est pas pour moi c dans le cadre d'une formation que je donne à une personne. et dans le cadre d'un exercice pratique que l'ont fait ensemble.
Donc dans ce cas la la base de donné seré trop compliquer pr cette personne déja qu'avec la formule si elle se prend la tete..mdr

2° je met un lien vers ce fichier...vs comprendrez peut etre mieux...
http://kwanice.free.Fr/recap.xls
regardez l'onglet MAI
...mici
a+

Ancien webmaster de ... 
Nouveau newbbie de ccm !..mdr HAVE FUN ! THAT'S ALL !
0
SdQY Messages postés 190 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 12 janvier 2018 33
13 juin 2004 à 12:06
Bonjour,

J’ai regardé ton fichier. Mais, désolé ! Je ne sais pas faire une macro qui puisse enregistrer un fichier dont le nom correspond au contenu d’une cellule.

Peut-être est-ce possible, mais je ne suis pas assez bon connaisseur de VB.

Bon courage et si tu trouves, pense à nous donner la solution.

@+
SdQY
0
kwanice Messages postés 225 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 17 juin 2020 18
15 juin 2004 à 15:58
bah pr le moment je planche.....
je pense que c pas possible vu que la c carrément dans le nom du fichier que je veux faire une formule...
snif snif..

Ancien webmaster de ... 
Nouveau newbbie de ccm !..mdr HAVE FUN ! THAT'S ALL !
0
Je formule ma réponse pas très claire, déjà donnée

Tu nommes une feuille Récap .
Dans la caseA1 tu tapes =, ensuite tu cliques sur l'onglet de la feuille contenant nom+ prénom.
La feuille s'ouvre, tu cliques sur le nom que tu veux, la case s'entoure de pointillé, tu fais entrée et ton nom est transféré dans la cellule A1 de la feuille récap.
Tu fais la même chose pour le prénom mais dans la colonne B

Toute modification apportée sur la feuille nom+prénom sera immédiatement répercutée sur la feuille Récap.
0
pour tout dire j'avoue que je me noie un peu dans les messages
mais je sais que pour faire un lien on peut utiliser la formule " concatener"
exemple
feuille 1 cellule A1 "jean "
feuille 2 cellule A1 "durand"
feuille 3 cellule A1, tu vas dans formule " contanener "
1ere champ :cellule A1 feuille 1 ,deuxieme chant a remplir tu cliques dans la cellule A1 feuille 2 et la tu obtiens dans la troisieme feuille jean durand
note que j'ai peut etre rien compris a ton probleme et que c'est pas ca du tout ce que tu veux faire mais bon je me suis toujours demande a quoi servait cette fonction alors je suis contente d'avoir plus la placer;-)
bonne chance
0
kwanice Messages postés 225 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 17 juin 2020 18
18 juin 2004 à 17:09
mdr...c gentil..
mais en fait ca n'a rien a voir avec une formule...
puisque moi c pr un lien et....bah je laisse tomber...
je vais pas réexpliquer une 5 eme fois..lol


Ancien webmaster de ... 
Nouveau newbbie de ccm !..mdr HAVE FUN ! THAT'S ALL !
0
andré > kwanice Messages postés 225 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 17 juin 2020
18 juin 2004 à 18:31
kwanice, regarde la réponse que j'ai donné en N° 12, c'est la solution.
0
Utilisateur anonyme
18 juin 2004 à 21:53
Bonjour Kwanice,

Voici une autre soluce ... VBA

Cette routine crée le lien en colonne D si et seulement si les colonnes A et B sont non-vide. Les limites sont défini par les constantes de la routine (LimiteInf et LimiteSup).

Sub CreerLien()

Dim Fonction, Tampon, Plage As String
Dim Nom, Prenom As String
Dim Boucle As Integer

Const LimiteInf = 9
Const LimiteSup = 72

'Variable témoin
Tampon = "'E:\Mme BONIFASSI\[ALFONSI_François.xls]Absences_2004'!$F$42"

For Boucle = LimiteInf To LimiteSup
Plage = "D" & Boucle 'Création de l'indice
Range(Plage).Select 'Sélection de la cellule
Nom = ActiveCell.Offset(0, -3).Value 'Capture Nom
If (Nom <> "") Then
Prenom = ActiveCell.Offset(0, -2).Value 'Capture Prénom
If (Prenom <> "") Then
'Création de la formule du lien
Fonction = "='E:\Mme BONIFASSI\["
Fonction = Fonction & Nom & "_" & Prenom
Fonction = Fonction & ".xls]Absences_2004'!$F$42"
ActiveCell.Offset(0, 0) = Fonction
Else
ActiveCell.Offset(0, 0) = "Vide"
End If
Else
ActiveCell.Offset(0, 0) = "Vide"
End If
Next Boucle
Range("A1").Select

End Sub


Lupin
0
kwanice Messages postés 225 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 17 juin 2020 18
19 juin 2004 à 11:19
wow.....t un boss.......!!!
punaise et tu vois c la que je me dis que je devrais vraiment me mettre au vba..
tu aurais pas un conseil pr que je m'y mette?
déja je vais essayer de comprendre ta "routine" ..:s
Mais merci c exactement ce que je voulais
est-ce que l'on peut creer la meme procédure mais sans que ca enregistre? enfin sans que ca creer le fichier (juste que ca fasse le lien dans la cellule) ?
Merci encore!!

Ancien webmaster de ... 
Nouveau newbbie de ccm !..mdr HAVE FUN ! THAT'S ALL !
0
kwanice Messages postés 225 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 17 juin 2020 18
19 juin 2004 à 17:11
et bah........... trop top...sérieux
merci bcp
je vais regarder ton site de plus prés enfin ton tuto!
encore un grand merci

c vré que bcp parle du vba comme de lamerdouille (pardon pr l'expression) mais je pense que c un language peut etre pas trop compliqué et comme tu dis "utilisé dans office" donc super répandu.

Merci pr ta 2eme procédure corrigé vrément cool!

Ancien webmaster de ... 
Nouveau newbbie de ccm !..mdr HAVE FUN ! THAT'S ALL !
0
Bonjour à tous,

Voila mon souci...
J'ai 2 feuilles Excel. Sur la première, je souhaiterais créer "une grille d'entrée" dans laquelle on retrouverait des éléments comme le nom de l'entreprise, la surface louée...qui se répercuterait automatiquement sur ma seconde feuille.
Je voudrais que les données s'incrémentent automatiquement dans un tableau ligne par ligne sur cette seconde feuille. (les unes à la suite des autres).
Merci d'avance pour la/les solutions que vous m'apporterez.
Krine
0
J'ai exactement le même problème... je sais que ton message date, mais y avais-tu trouver une solution??

Merci Alex
0
je veux additionner plusieurs feuille dans un nouveau dossier excel
0
dans une colonne je chiffre les N° des adhérents 1 à 100
quand je marque 001- 010 -020- 099 le premier zéro ne reste pas
pour quoi .
que dois-je faire pour rétablir la chose
merci d'avance

Calypso 41
0
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
30 mars 2008 à 19:12
Parce que c'est une valeur numérique, donc les zéros de gauche, non significatifs, sont enlevés d'office.

Va dans ton format de cellule et crée un format personnalisé "000". Et voilà!!!
0