Que pensez vous de ca?? (Re : liens entre classeurs)

  • Initiateur de la discussion nicolas
  • Date de début
N

nicolas

Guest
Bonjour cher Forum,

J'aimerais savoir ce que vous pensez de ma macro (ce message fait suite à un autre posté hier avec un autre intitulé ("liens entre classeurs"))

Mon premier classeur = fiche technique à remplir (différents champs comme numéro de fiche, date, nom de l'émetteur etc => ce n'est pas un userform).

Chaque fiche doit etre sauvegardée sous son numéro.(donc accumulation de classeurs correspondant aux fiche remplies + le classeur avec la fiche vierge)

Mon deuxième classeur = récapitulatif de toutes les fiches techniques (on retrouve certains des champs du 1er classeur)

A chaque nouvelle fiche enregistrée (1er classeur), une nouvelle ligne est insérée dans le deuxième classeur avec la valeur des champs du premier classeur. Jusque la ok

Le truc c'est que les fiches techniques sont ressorties plus tard et mises à jour (on remplit les champs manquants). Donc dans mon deuxième classeur, c'est pas une nouvelle ligne qui est créée mais c'est la ligne correspondante au premier enregistrement qui est sélectionnée et les champs vides sont mis à jour.

Je me suis dis que la manip suivante pourrait marcher :

Chaque champ correspond à une zone de texte nommée sur la fiche vierge. On trouve sur cette fiche vierge un bouton "enregistrer" auquel est affecté une macro.
Cette macro fait la chose suivante si c'est une nouvelle fiche :
elle sauvegarde la fiche sous son numéro
elle ouvre le deuxième classeur
elle regarde si le numéro de la fiche correspond à un en-tête de ligne
elle insère une ligne vu que c'est le premier enregistrement et que le numéro est nouveau
elle fait un copier/coller des zones de texte nommées dans le 2ème classeur sur notre nouvelle ligne créée.
elle sauve le 2ème classeur et le ferme.

Dans le cas d'une mise à jour, l'utilisateur va ouvrir la fiche technique numérotée partiellement remplie et la compléter. On retrouve donc notre bouton "enregistrer" auquel est affectée la meme macro forcément:
la macro sauvegarde la fiche sous son numéro
elle ouvre le deuxième classeur
elle cherche si le numéro existe et le trouve=>donc pas d'insertion de ligne
elle fait un copier/coller des zones de texte nommées dans la ligne corespondant au numéro de fiche
elle sauve le 2ème classeur et le ferme.

Je pensais au départ que le copier/coller des champs ne marcherait pas vu qu'on a une fiche vierge et des fiches numérotées (donc les liaisons ne seraient plus valables) mais je me dis qu'avec des zones de texte nommées, y'a plus de pb.

Dites moi ce que vous en pensez si vous avez réussi à lire cet ENORME topic. Et je m'en excuse d'ailleurs
merci d'avance
a plus
koko
 
N

nicolas

Guest
-Re
-Re
-J'ai bien changé les plages nommées dans la feuille fiche (je pensais auparavant que c'était bon car j'avais nommé mes zones de texte en faisant ctrl + c) mais ca marche tjs pô..y me sort tjs la même excuse!!
-y fé chier non?
-ben moi y me gave en tout cas
-j'ai une idée?
-non
-ben réfléchis
-ok aplus
- a plus
 
N

nicolas

Guest
-ahhh je crois savoir ou est l'erreur!!!!!
Numero_fiche n'est pas une plage nommée sur "fiche"
-mais pkoi donc?
-les numéros de fiches correspondent à une cellule dans le tableau, pas à trois comme dans les fiches. J'ai donc pensé définir Numero_fiche dans le code lui-même mais ca ne riske pas de marcher bien sur!
je m'en vais de suite tacher de contourner ce pb
 
N

Nicolas

Guest
-re
-re
-bon ben j'avé pas fé attention mais j'ai des objects Zone de Texte alors forcement c pas une cellule nommé donc pour ces zones fo utiliser ca

.Range("B" & L) = WSsource.Shapes("Description").DrawingObject.Caption
et
.Range("D" & L) = WSsource.Shapes("Commentaires").DrawingObject.Caption

pi la c pas mal j'croi

-ok, j'essaye
-ok

-@+
a+
 
N

nicolas

Guest
-yo'
-yo'
-CA MARCHE!!!!!!!!!!!!!!!!!
-NONNNNNN????
-SISISISISI
-HALLELUJAH!!
-merci Nico
-merci nico
-je suis si fier, je voudrais remercier mon père et ma mère qui m'ont toujours encouragé, merci à Thierry, Nicolas.Je suis sû d'en oublier mais ils se reconnaitront.
Ceci est la victoire du courage et de l'abnégation, vraiment un grand merci à tous

YEAHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
 

Pièces jointes

  • essaireporting.ZIP
    16.8 KB · Affichages: 18
  • essaireporting.ZIP
    16.8 KB · Affichages: 14
  • essaireporting.ZIP
    16.8 KB · Affichages: 19
M

Minick

Guest
-re
-re
-tien g retrouvé mon identité :eek:)
-hein!!!, tu t'appel pas nicolas ???
-ben non ;o)
désolé pour le tatonnement mais j'avé pas toute mon attention sur ton pb, chui content pour toi, et pas besoin d'etre cité le principal c que t'y sois arrivé

@+
Minick
 
@

@+Thierry

Guest
Bonsoir Nicolas, Minick, le Forum

ARf en voyant ce fils avec de plus en plus de posts à l'intérieurs je ne l'ai pas ouvert par peur de m'incruster dans une discussion bondée de monde avec déjà pas mal de Contributeurs/Trices...

Mais en fait c'est quasiment un monologue ce fil !! Heureusement que tu as de l'Humour Nicolas !! (vous avez "les" Nicolas !!!)

Au fait moi c'est pas Nicolas, mais c'est donc Thierry et j'espère que le problème est résolu.... Dans un autre post je t'ai mis l'explication de Texte !!

Bonne Soirée
@+Thierry
 
N

nicolas

Guest
Salut les trois personnes de ce fil

J'enrage car mon boss me demande un truc suplémentaire à implémenter dans mon automatisation de document!!!!

Quand je clique sur "mettre à jour" dans ma fiche (nouvelle ou partiellement remplie), une nouvelle ligne est insérée (cas fiche nouvelle) ou une ancienne ligne est compléte(cas fiche partiellement remplie) dans mon tableau récapitulatif.

Il faudrait maintenant qu'un lien hypertexte renvoyant vers les fiches d'anomalie soit associée dans chaque ligne (du tableau récapitulatif ) correspondant à ces fiches.

Avec la ligne de code suivante (cf macro Reporting() ):

.Hyperlinks.Add Anchor:=.Range("G" & L), Address:=nomFichier & .Range("G" & L).Text & ".xls"

ca marche uniquement pour le premier clic sur "mettre à jour". Pour les clics suivants (cas des fiches partiellement remplies), une deuxième lien vient se coller immédiatement après le premier et du coup, ca marche plus.

Je pense qu'il y a deux ou trois lignes de code qui me manquent et me permettraient d'obtenir ce que je désire.

Pourrez-vous m'aider???
merci d'avance
a plus
koko
 

Pièces jointes

  • essaireporting.ZIP
    16.9 KB · Affichages: 19
  • essaireporting.ZIP
    16.9 KB · Affichages: 18
  • essaireporting.ZIP
    16.9 KB · Affichages: 18
N

nicolas

Guest
Ah ben en fait c'est tout con :

If .Range("G" & L) = "" Then
.Hyperlinks.Add Anchor:=.Range("G" & L), Address:=nomFichier & .Range("G" & L).Text & ".xls"
End If

Voila c'est tout
Encore une mission réussie pour nikolko (ou koko) (ou nicolas)
a pluuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuus
 
P

pamela

Guest
bon, ben moi je te repond mais je sais pas quoi dire.

tout ça s'est du chinois pour moi.

je ne pratique excel que depuis tres peu de temps, alors le reste.......

mais courage, ça a l'air d'etre un bon projet, mais a quoi va t il te servir?

a+
 
N

nicolas

Guest
Salut,
c'est gentil de répondre!
Pour répondre à ta kestion sur le but de ce projet, ben il s'agit d'automatiser des documents. Chaque fiche d'anomalie émise dans ma boite doit pouvoir etre enregistrée sous son nom propre, et un fichier général doit répertorier toutes le fiches déjà émises. Il doit être également possible de rouvrir une fiche déjà enregistrée, de la compléter et que la mise à jour soit automatique dans le tableau.
Et donc le but, c'est de faire un bouton "mis à jour" sur les fiches d'anomalies et quand on clique dessus, le tableau qui répertorie toutes le fiches prend en compte soit une nouvelle fiche (si c'en est une), soit complète la ligne du tableau correspondant à la fiche (si c'est une fiche partiellement remplie). De plus, ce clic permet l'enregistrement de la fiche sous son nom propre.
Voila en gros a quoi ca sert.
a plus
koko
 

Discussions similaires

Statistiques des forums

Discussions
315 108
Messages
2 116 278
Membres
112 711
dernier inscrit
EBEUR