VBA - reprise d'informations issues de fiches "modèles"

jelobo

XLDnaute Nouveau
Bonjour,

je ne maîtrise pas VBA (poutant je Voudrais Bien Arriver à ...) et, de ce fait, l'automatisation de tâches reste bien limitée.

Mon souci actuel : comment écrire le code pour reprendre des informations de fiches bâties sur un modèle unique dans un tableau de suivi de plusieurs de ces fiches ?

Le fichier, joint en annexe, décrit dans les cellules I2 : L2 ce que je souhaite obtenir ; y figure aussi "mon" début de code pour la reprise de deux premières informations consignées dans les fiches "sources" (colonnes K et L).

Les experts de ce forum souriront en lisant mon code "artisanal" et peut-être penseront-ils que je suis une cloche - période oblige ? Mais cela ne me filera pas le bourdon !

Je suis bien sûr à votre écoute pour clarifier ma requête.

Bon long WE, peut-être propice aux motards dont je suis. (peut-être moins cloche à moto qu'en VBA ? Pour la moto : Vite (mais) Bien Arrivé !)

Bien cordialement
 

Pièces jointes

  • etat_audit_24032016_forum.xls
    167 KB · Affichages: 73
  • etat_audit_24032016_forum.xls
    167 KB · Affichages: 81

jelobo

XLDnaute Nouveau
Re : VBA - reprise d'informations issues de fiches "modèles"

Bonjour,

J'ai tout de même tenté le formules SI ... tu vérifieras si c'est OK
Par contre, en K2 et L2, les références aux cellules décalées de 5 lignes à chaque fois ... c'était déjà correct!?

Remplace le code précédent par celui-ci:
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column <> 8 Then Exit Sub 'si pas colonne H, on sort
If (Target.Row - 7) Mod 12 <> 0 Then Exit Sub 'si pas lignes 7, 19, 31, 43, etc.
Cancel = True
Application.ScreenUpdating = False
Target = 1
Target.Offset(1, 0).Resize(11, 1).FormulaR1C1 = "=if(RC[1]="""","""",R[-1]C+1)" 'on inscrit les SI... dans les 11 lignes de la colonne H
With Target.Offset(0, -3).Hyperlinks(1)
    fich = Replace(Mid(.Address, 1, InStrRev(.Address, "\", -1, vbTextCompare)) & "[" & Mid(.Address, InStrRev(.Address, "\", -1, vbTextCompare) + 1, 50) & "]", "..\..\", "Z:\Qualite\")
End With
premLigne = Target.Row
For c = 1 To 4
    Select Case c
    'attribuer une lettre de colonne et un n° de ligne de départ pour chaque formule des colonnes I à L
    Case 1
        col = "A"
        ligDep = 6
    Case 2
        col = "Q"
        ligDep = 9
    Case 3
        col = "V"
        ligDep = 7
    Case Else
        col = "V"
        ligDep = 9
     End Select
     For lig = 0 To 11
        'on écrit les formules
        Cells(premLigne + lig, 8 + c).Formula = "=if('" & fich & "FAD'!" & col & ligDep + 5 * lig & "=0,"""",'" & fich & "FAD'!" & col & ligDep + 5 * lig & ")"
     Next lig
Next c
Application.ScreenUpdating = True
End Sub

Modeste,

après mon message #29, j'avais réussi à contourner certains problèmes hors macro.
Le nouveau code adressé par ton message #30 fonctionne parfaitement. Je l'ai adopté.
Restent les "soucis" des colonnes K et L ; la fonction DECALER, appliquée initialement sur la colonne I fonctionnait elle aussi ; une piste pour toi pour ces colonnes K et L ?

Cordialement
 

Modeste

XLDnaute Barbatruc
Re : VBA - reprise d'informations issues de fiches "modèles"

Restent les "soucis" des colonnes K et L ; la fonction DECALER, appliquée initialement sur la colonne I fonctionnait elle aussi ; une piste pour toi pour ces colonnes K et L ?
Mais quel est le problème avec les colonnes K et L??
Dans ton dernier fichier, en K2 tu écris "FORMULE EN K7 A DUPLIQUER SUR LES LIGNES 8 à 18
mais le contenu de la cellule V7 de l'onglet FA devient V12 en ligne 8, puis V17 en ligne 9, etc.
" ... c'est déjà ce qui est fait, non?
 

jelobo

XLDnaute Nouveau
Re : VBA - reprise d'informations issues de fiches "modèles"

Bonsoir Modeste,

la macro ne reprend pas les formules telles que mentionnées dans les cellules K2 et L2, surtout.

Elle véhicule les valeurs des cellules sources (FA = fiche) sans tenir desdites formules qui sont nécessaires au bon fonctionnement du tableau de suivi.

Je suis à ton écoute, si tu le souhaites, bien sûr.

Bien cordialement
 

Modeste

XLDnaute Barbatruc
Re : VBA - reprise d'informations issues de fiches "modèles"

Bonsoir,

la macro ne reprend pas les formules telles que mentionnées dans les cellules K2 et L2, surtout.

Elle véhicule les valeurs des cellules sources (FA = fiche) sans tenir desdites formules qui sont nécessaires au bon fonctionnement du tableau de suivi.

Désolé, mais j'ai beau relire ... je ne comprends rien! Donne des exemples, fais des comparaisons entre ce qui apparaît et ce qui devrait apparaître ...
 

jelobo

XLDnaute Nouveau
Re : VBA - reprise d'informations issues de fiches "modèles"

Bonsoir,



Désolé, mais j'ai beau relire ... je ne comprends rien! Donne des exemples, fais des comparaisons entre ce qui apparaît et ce qui devrait apparaître ...

Modeste,

je constituerai un support avec les formules que j'ai élaborées et qui sont consignées dans les cellules K7 et L7 du dernier fichier adressé et ce que la macro véhicule comme informations.

Cela clarifiera davantage mes propos.

Ce sera pour demain soir.

Bonne soirée
 

jelobo

XLDnaute Nouveau
Re : VBA - reprise d'informations issues de fiches "modèles"

Bonsoir à toutes et à tous,
bonsoir Modeste,

en PJ, complément d'informations pour le point évoqué hier soir.

Bien cordialement
 

Pièces jointes

  • formule_L7.docx
    13.6 KB · Affichages: 31

Modeste

XLDnaute Barbatruc
Re : VBA - reprise d'informations issues de fiches "modèles"

en PJ, complément d'informations pour le point évoqué hier soir
Il aurait été plus simple de signaler qu'il manquait juste la fin de la formule en colonne K! Tes messages donnaient à penser que rien (ou presque) en colonnes K et L n'était correct!?

Ceci dit, tu as testé la formule que tu as écrite dans la pièce jointe?
=SI('Z:\Qualite\pilotes_processus\6. Gestion du Risque\6.7_RCT\actions_amelioration\PA_SD_FA\[FA_1210-processus RCT-audit 15-2013.xls]FAD'!$V$9=0;"";'Z:\Qualite\pilotes_processus\6. Gestion du Risque\6.7_RCT\actions_amelioration\PA_SD_FA\[FA_1210-processus RCT-audit 15-2013.xls]FAD'!$V$9;SI($A$1>K7;"D";".")))
Il y a une parenthèse fermante surnuméraire, en fin de formule, si je ne m'abuse et le premier SI ayant déjà ses 3 arguments, je ne vois pas comment on peut imbriquer un second SI :confused:
 

jelobo

XLDnaute Nouveau
Re : VBA - reprise d'informations issues de fiches "modèles"

Il aurait été plus simple de signaler qu'il manquait juste la fin de la formule en colonne K! Tes messages donnaient à penser que rien (ou presque) en colonnes K et L n'était correct!?

Ceci dit, tu as testé la formule que tu as écrite dans la pièce jointe?
Il y a une parenthèse fermante surnuméraire, en fin de formule, si je ne m'abuse et le premier SI ayant déjà ses 3 arguments, je ne vois pas comment on peut imbriquer un second SI :confused:

Bonjour Modeste,

"ma formule" fonctionne parfaitement ; il n'y a aucun problème avec les "si".
J'ai juste mis en gras les éléments que la macro ne génère pas lors du "double clic".

Je ne crois pas avoir laissé pensé que rien ou presque ne fonctionnait, bien au contraire. Je suis épaté par tes travaux et te renouvelle mes plus vifs remerciements.

Cordialement
 

Modeste

XLDnaute Barbatruc
Re : VBA - reprise d'informations issues de fiches "modèles"

Re-bonjour,

jelobo à dit:
Je ne crois pas avoir laissé pensé que rien ou presque ne fonctionnait, bien au contraire
Je parlais des colonnes K et L, puisqu'au message #31, tu écrivais (et j'ai déjà cité cet extrait) "Restent les "soucis" des colonnes K et L ; la fonction DECALER, appliquée initialement sur la colonne I fonctionnait elle aussi ; une piste pour toi pour ces colonnes K et L ?" ... dans le document joint à ton dernier message, tu dis finalement qu'en colonne K c'est OK!? Et puis, nous avons tout de même échangé 6 messages à ce sujet!

jelobo à dit:
"ma formule" fonctionne parfaitement ; il n'y a aucun problème avec les "si".
Comme pour un de mes autres interlocuteurs récemment, tu veux bien prendre 2 minutes, pour vérifier, avant d'affirmer?
  • ouvre le document joint à ton dernier message
  • sélectionne la formule que tu y indiques
  • copie cette formule et colle-la dans une cellule quelconque d'un classeur et valide

... et maintenant, tu affirmes toujours qu'elle fonctionne parfaitement? Je t'assure qu'il faut faire preuve de beaucoup de patience pour ne pas "prendre la mouche", parfois!
 

jelobo

XLDnaute Nouveau
Re : VBA - reprise d'informations issues de fiches "modèles"

Re-bonjour,

Je parlais des colonnes K et L, puisqu'au message #31, tu écrivais (et j'ai déjà cité cet extrait) "Restent les "soucis" des colonnes K et L ; la fonction DECALER, appliquée initialement sur la colonne I fonctionnait elle aussi ; une piste pour toi pour ces colonnes K et L ?" ... dans le document joint à ton dernier message, tu dis finalement qu'en colonne K c'est OK!? Et puis, nous avons tout de même échangé 6 messages à ce sujet!

Comme pour un de mes autres interlocuteurs récemment, tu veux bien prendre 2 minutes, pour vérifier, avant d'affirmer?
  • ouvre le document joint à ton dernier message
  • sélectionne la formule que tu y indiques
  • copie cette formule et colle-la dans une cellule quelconque d'un classeur et valide

... et maintenant, tu affirmes toujours qu'elle fonctionne parfaitement? Je t'assure qu'il faut faire preuve de beaucoup de patience pour ne pas "prendre la mouche", parfois!

Modeste,

je prends toujours le temps nécessaire pour vérifier, par respect de celles et ceux qui prennent elles et eux aussi du temps pour apporter une aide fort appréciée.

J'ose affirmer que ma formule fonctionne parfaitement puisque je l'utilise régulièrement dans d'autres fichiers de suivi lesquels sont cependant conçus différemment mais le principe reste le même.

C'est pour cela que j'avais tenté obtenir une aide sur ce forum, pour cet état particulier, aide que tu m'as apportée avec beaucoup de sérieux et de compétences.

Je ne veux absolument pas te faire prendre la mouche ; nous pouvons, si tu le souhaites, clore ce dossier.

Bonne poursuite sur ce forum très bien fait et apprécié à sa juste valeur, laquelle valeur est haute !

Bien cordialement
 

Modeste

XLDnaute Barbatruc
Re : VBA - reprise d'informations issues de fiches "modèles"

Re et re,

J'ose affirmer que ma formule fonctionne parfaitement puisque je l'utilise régulièrement dans d'autres fichiers de suivi lesquels sont cependant conçus différemment mais le principe reste le même
jelobo, je t'assure quant à moi avoir fait la manipulation de copier-coller ta formule.
J'ai bien vu, dans une des versions précédentes de ton fichier Excel, une formule qui ressemblait à la présente formule. Ce que je dis ici c'est que celle qui figure dans ton document nommé formule_L7.docx ne peut être utilisée comme telle.
Veux-tu, s'il-te-plaît, vérifier (parce que là, tu ne l'as pas fait, à mon très humble avis!)

PS: maintenant si un autre visiteur passe par ici et considère que la formule est correcte et fonctionnelle, qu'il/elle me le dise ... j'irai me coucher, en présentant au passage mes plus plates excuses à jelobo!
 

Discussions similaires

Réponses
3
Affichages
332

Statistiques des forums

Discussions
314 450
Messages
2 109 721
Membres
110 551
dernier inscrit
Khyolyanna