Copier plusieurs cellules dans differentes feuilles

skopg Messages postés 74 Statut Membre -  
skopg Messages postés 74 Statut Membre -
Bonsoir à tous je suis nouveau sur ce site et j'aimerais avoir votre aide pour :
dans ma feuil1 en colonne C j'ai des noms ex A,B,C,D,E,F, etc....., de C1 a C156, les autres feuilles sont renommées suivant les noms ; feuil2 A, Feuil3 B, Feuil4 C et ainsi de suite jusqu'à 156 noms différents.
Je fais un filtre dans la feuil1 pour sélectionner certains noms comment faire pour que les cellules D4:N4 feuil1 soient copiées dans chaque onglet respectif en B3:L3 par ex pour la première saisie.
Si dans le filtre il y a A, B, C, D, E copier ces cellules D4:N4 dans A, B, C, D, E........

Puis quand j'ai fini avec mes filtres dans ma feuil1 je retrouve tous les noms et les cellules D4:N4 remplies car sur mes différents filtres je fais un tirer pour compléter les cellules D4:N4.
Apres que tous les onglets soient complets une macro sur ma feuil1 doit me vider les cellules D4:N4 qui elles sont remplies pour tous les noms grâce a mon tirer ( copier/coller ).

Et pour une nouvelle entrée je remplis à nouveau D4:N4 et le cycle recommence mais bien sur ces nouvelles données sont copiées a la ligne suivante dans leur onglet respectif par ex si la 1ere ligne est b3:L3 pour une première entrée dans ce même onglet ce sera la ligne B4:L4. pour la deuxième saisie et puis B5:L5 et ainsi de suite.
Désolé d'être aussi long si besoin d'un fichier c'est possible.

14 réponses

Résumé de la discussion

Le besoin est d’envoyer dynamiquement D4:N4 de Feuil1 vers chaque feuille nommée selon la liste C1:C156 lorsque des noms sont filtrés, en plaçant d’abord les données sur B3:L3 de chaque feuille et en les empilant sur les lignes suivantes (B4:L4, B5:L5, etc.). Après la fin des filtrages et des tirages, une macro doit effacer D4:N4 sur Feuil1 pour permettre une nouvelle saisie, les nouvelles valeurs étant copiées sur la ligne suivante de chaque onglet respectif. Des propositions techniques évoquent des tests d’intersection ciblant les plages pertinentes, des ajustements de conditions (par exemple remplacer une égalité par une inégalité) et le passage d’INDIRECT à des références directes des feuilles pour assurer le tirage sur l’ensemble des noms. Des idées complémentaires portent sur l’ajout éventuel d’une interface utilisateur et sur la gestion de l’ajout de nouveaux noms afin de maintenir la robustesse du processus si la liste évolue.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonsoir

    Oui un exemple allégé (une 20aine de lignes suffiront) et anonymé serait utile, tu le poste sur cjoint.com et tu reviens ici indiquer le lien fourni

    Question : Est ce toujours les mêmes noms qui sont filtrés ensemble ? Si oui au lieu d'avoir à filtrer par nom il vaudrait peut être mieux ajouter une colonne avec une référence identique de groupe (1, 2 etc) ce qui permettra facilement de filtrer soit mieux de tout faire faire par la macro en indiquant simplement dans un Userform le groupe à renseigner et les valeurs à mettre de D à N

    Dans l'attente

    Cdlmnt
    0
  2. skopg Messages postés 74 Statut Membre
     
    Bonjour Via55, déjà merci pour ta réponse oui je fais un tri pour toujours les mêmes noms parfois ils sont 10 parfois ils sont 5 ( tri par catégorie GR; E, S, C, etc j'ai des Elites ,des sportifs des coteurs etc....).

    Je fais un fichier allégé comme demandé et tu feras le travail déjà fait à ce jour.
    Je remplace les noms par des A,AA,B,BB,C,CC etc.
    Du fait que je change les noms il est possible que les macros ne fonctionnent plus ( a voir )

    Le bouton mise à zéro permet de revenir sur la feuil test complète en fait tu verras et si info supplémentaire pas de soucis.
    0
    1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Ok mais où est le lien pour obtenir le fichier ?
      0
  3. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Re

    Voilà la macro de transfert

    Une fois la ligne transférée une croix est placée dans la dernière colonne de test (pour éviter de transférer une 2eme fois par erreur) et par MFC la ligne transférée se met alors en couleur dans test (j'ai fait le transfert des Elites et des Balladeurs pour essai)
    Attention que les noms dans la liste et celui des feuilles correpondent bien sinon il y aura erreur

    https://www.cjoint.com/?0JluQqFhdmb
    Annotations dans la macro expliquant son déroulement

    Pour effacer les données de test à la fin enregistres une macro en effaçant toutes les plages que tu veux , sans oublier celle des X, puis tu crées un nouveau bouton et tu lui affectes ta macro

    Cdlmnt

    "L'imagination est plus importante que le savoir." A. Einstein
    0
    1. skopg Messages postés 74 Statut Membre
       
      Bonjour Via55,
      merci pour ton travail je viens de rentrer du vélo je regarde à ton fichier et te tiens informé.

      Bien à toi
      0
    2. skopg Messages postés 74 Statut Membre
       
      Re,

      Je suis un peu long pour te donner des nouvelles mais je dois remettre tous les noms dans chaque onglet respectif.
      Et mettre dans la feuille classement dans les cellules C2, D2, E2, H2 et I2 les références avec le signe égal pour chaque nom afin de faire fonctionner la macro pour ce dit classement.

      Bien à toi
      0
    3. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Bonjour skopg

      Pas de problème, prends ton temps pour ne pas faire d'erreur

      A++
      0
    4. skopg Messages postés 74 Statut Membre
       
      Re Via55,

      par hasard, n'aurais tu pas une formule qui quand j'ai mis le signe = dans la cellule
      =AB!C2 =AB!D2 =AB!E2 =AB!H2 et =AB!I2 qui est pour le premier onglet ici en l'occurrence AB.

      De faire une copie ou un tiré pour tous les autres noms.
      Car ici je dois rentrer chacune des cellules C,D,E,H et I. pour chaque nom.

      Je sais c'est beaucoup te demander mais je dois te dire que ton retour fichier pour le moment fonctionne.

      J'ai encore un peu de boulot ( macro pour effacer ).
      Mais cela avance.

      Bat.
      0
  4. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Re

    Le nom étant en colonne B, mettre en C2 la formule :
    =INDIRECT(B15&"!C2")
    puis clic droit sur le petit carré noir en bas à droite de la cellule pour l'étirer au bas de la colonne

    en D2 mettre la même formule avec D2 au lieu de C2 etc

    Attention ne supporte pas les espaces dans les noms ! S'il y en a, il faut les remplacer par le tiret du 8 exemple DUPONT_Jean et faire de même dans les noms des feuilles ainsi que dans la feuille test etc

    Cdlmnt

    "L'imagination est plus importante que le savoir." A. Einstein
    0
    1. skopg Messages postés 74 Statut Membre
       
      Re Via55,

      J'essaie la formule mais cela ne marche pas ( je ne comprends pas le B15 ), quand je fais entrée puis clic droit pour la croix je tire et après je dois faire copier cellules , copier avec forme , copier sans forme.???????? mais voilà je que j'ai .#REF!


      J'ai changé les noms comme dis sans espace ou avec un tiret entre le nom et prénom, rien ni fait.

      Bat
      0
    2. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Désolé je t'ai répondu vite pour que tu puisses terminer ton tableau et je ne me suis pas relu !! ce n'est pas B15 mais B2 bien sur pour la ligne 2 !
      0
    3. skopg Messages postés 74 Statut Membre
       
      Re,

      D'accord mais dans test ma cellule C2 pour AB fait référence a la feuille AB Cellule H2 (=AB!H2 );

      Car sur ta formule si je tire vers la droite j'ai toujours =INDIRECTC2&"!C2");et si je remplace par =INDIRECT(D2&"!I2") ma cellule me donne #REF!?


      je crois que je fais devoir me farcir cellules par cellules.

      Bat
      0
    4. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Tu veux dire dans classement je suppose
      la cellule C2 doit recevoir la valeur de la cellule H2 de la feuille portant le nom en B2
      donc en C2 mettre la formule =INDIRECT(B2 & "!H2") puis étirer sur la colonne avec double clic sur le petit carré noir en bas à droite
      la cellule D2 doit recevoir la valeur de la cellule I2 de la feuille portant le nom en B2
      donc en D2 =INDIRECT(B2 & "!I2") puis étirer sur la colonne
      etc...
      En résumé tu dois entrer la formule pour chaque cellule de la ligne 2 en changeant seulement l'adresse en fin de formule , mais c'est toujours B2 puisque le nom de la feuille est recupéré d'après le nom des personnes en colonne B

      (La fonction INDIRECT recompose une adresse en concatenant le contenu de B2 avec ce qu'il y a entre guillemets après le & de la concaténation, ainsi en C2 l'adresse reconstituée est AB!H2, en C3 ce sera AC!H2, en D2 : AB!I2 etc

      on va y arriver !

      Cdlmnt
      0
    5. skopg Messages postés 74 Statut Membre
       
      Re Via55,
      si j'ai bien compris en ayant tiré avec la croix cela s'incrémente automatiquement

      =INDIRECT(B3&"!h2") =INDIRECT(B3&"!i2") =INDIRECT(B4&"!G2")
      =INDIRECT(B4&"!H2") =INDIRECT(B4&"!i2") =INDIRECT(B4&"!G2") et ainsi de suite.......

      Et chaque cellule ira chercher dans sa feuille correspondante en H2, N/SORTIE
      en I2, CG en G2 Total Kms et pour J2 et K2 pareil.

      et quand je fais les présences suivant le nombre ( 50 coureurs par ex ) repris le classement se fera d'après ces données.

      je te tiens informé pour le résultat , ma macro pour effacer toutes les données après transfert ca ne va pas effacer mes formules.

      Bat
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Oui les formules étirées en vertical s'incrémente pour B2, B3 etc
    mais tu ne peux pas les étirer horizontalement car "!h2" entre guillemets ne s'incrémente pas, il faut les taper une par une dans chaque colonne de la première ligne

    Quant à la macro pour effacer que tu vas enregistrer c'est justement pour choisir les plages que tu effaces et laisser sans les toucher celles avec les formules, tu fais la manip que tu ferais normalement pour effacer les données qui doivent changer (par prudence fais le sur une copie du fichier original !)
    Ainsi quand tu lanceras plus tard la macro avec un bouton elle effacera les mêmes plages sans effacer celles avec les formules

    Ok tiens moi au courant

    A+
    0
    1. skopg Messages postés 74 Statut Membre
       
      Re

      Pour le moment cela fonctionne hormis que quand je fais transférer les données il y a

      plv = Sheets(nomf).Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row + 1 ( de la macro )

      Et pour les noms on ne peut mettre dans le style Jean-Marie cela ne passe pas mais jean_marie Pour le classement te tiens info.

      Merci encore de ta patience et de ton temps

      Bat
      0
  7. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Que veux tu dire par il y a :
    plv = Sheets(nomf).Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row + 1
    0
    1. skopg Messages postés 74 Statut Membre
       
      RE Via55

      C'est la que la macro s'arrête sur
      cette ligne (plv = Sheets(nomf).Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row + 1

      et quelque fois tout ne se transfère pas.
      0
    2. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      c'est que la macro ne trouve pas la feuille sans doute
      donc pas le même nom dans la colonne B et dans les noms de feuilles (il suffit d'un espace après le mot par exemple qui n'est pas visible)
      Regardes les feuilles où il n'y a pas de transfert ce sont celles dont les noms posent probleme
      0
    3. skopg Messages postés 74 Statut Membre
       
      Ok je fais ca et te tiens info demain car je pense que pas mal travaillé ce soir.

      Bonne nuit

      Bat skop
      0
    4. skopg Messages postés 74 Statut Membre
       
      Bonsoir Via55,

      Je suis de retour car je travaille sur mon fichier concernant la macro "transfert des données" car même si les Kms en cellule G ne sont pas mis le transfert se fait pour ces cellules alors que toute la ligne n'est pas complète.

      Si tu as une idée ou solution merci à toi.

      Bat
      0
  8. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonsoir skopg

    En principe tu ne lances le transfert que lorsque les lignes sont complétées
    On peut faire un test en début de transfert pour savoir si toute la colonne G est complétée mais s'il y a des absents ? Je suppose qu'il faut verifier en même temps qu'il y a bien 1 en colonne E ?
    Pendant qu'on y est, il y a t il une autre colonne à vérifier avant d'autoriser le transfert ?

    Dans l'attente

    Cdlmnt
    0
    1. skopg Messages postés 74 Statut Membre
       
      Re Via55,

      J'ai fais des macros pour sorties ext ou pas, je ne sais pas si tu les as eues avec le fichier que je t'avais mis en Ci-joint.

      Si je sélectionne par ex avec sortie et que je fais un tri sur categorie E......si j'oubliais certains kms en G tout était transféré........mais j'ai changé dans la macro

      If Sheets("test").Range("G" & n).Value <> crit And Sheets("test").Range("P" & n).Value <> "X" Then

      J'ai changé par <> le signe = (égal ) et apparemment cela fonctionne.

      Je te tiens au courant car après il faut que le classement suive après chaque entrée.

      Bat @+
      0
    2. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      OK
      Tiens moi au courant
      mais tu ne m'a jamais transmis de lien pour cjoint !

      Bonne soirée
      0
    3. skopg Messages postés 74 Statut Membre
       
      Re Via55,

      je voulais dire que par ( Ci joint ) c'est quand je te l'avais envoyé le 11 octobre ( https://www.cjoint.com/?0JlqJNzXJjD ).

      Dis peut-on au lieu de faire un tri pour chaque catégorie pour y mettre les kms ( G ) de faire par ex

      des cellules qui pour chacune j'y mettrai les kms et suivant sa catégorie viendrait placer ces Kms dans la ligne correspondante a la catégorie.

      Car en général chaque catégorie a le même nombre de Kms cela évitera de taper 30 fois par ex pour les sportifs 20 fois pour les coteurs etc....ou de faire un tiré.

      Bat
      0
    4. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Tu peux parfaitement faire un tableau de base de donnée sur une autre feuille en 2 colonnes une pour la lettre de la catégorie et l'autre pour les kms
      Tu sélectionnes toute la plage de ce tableau et tu la nommes par ex kilom
      ensuite dans Test en G9 tu mets la formule =RECHERCHEV(D9;kilom;2;0)
      puis doubleclic sur le petit carré noir en bas à droite de la cellule pour étirer la formule sur le colonne
      0
    5. skopg Messages postés 74 Statut Membre
       
      Re Via55,

      Je veux bien faire ce type de tableau mais au point de vue Kms je mets quoi ,,,,,car il peut y avoir de 15, 20, 26, 37, 54 ,81,93, etc .....je veux dire par là qu'il peut y avoir de 1 a 215 kms.

      Car c'est au retour des coureurs que je sais les Kms qu'ils ont faits.

      Comment faire dans le tableau??????

      Bat
      0
  9. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour Skopg

    Voilà le fichier pour l'UF avec annotations dans les macros
    Dis moi si ça convient

    https://www.cjoint.com/?0Jvlp6GbRiS

    Via
    0
    1. skopg Messages postés 74 Statut Membre
       
      Bonjour Via55,

      Merci pour le fichier je viens de tester cela fonctionne jusque trois entrées car si après la touche retour pour mettre la 4 ième je valide ( par erreur.....pour essai ) le UF se ferme et je peux double cliquer sur cellule B4:B157.

      Mais déjà encore un super merci pour ton temps et ta patience.

      Bat
      0
    2. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Bonjour skopj

      Rajoutes cette ligne en début de la macro de validation, je l'avais mise puis enlevé puisqu'elle déjà dans la macro à l'activation de l'UF, mais apparemment ça ne suffit pas
      Private Sub CommandButton1_Click()
      ckm = 0

      Via
      0
    3. skopg Messages postés 74 Statut Membre
       
      Re Via55,

      Super ça fonctionne et le zéro qui est devant n'influence pas pour les kms ( par ex 0125 kms ) pour la première entrée car quand valider on trouve bien 125 kms.

      Je suis encore sur le transfert données ( je regarde que si sortie ext et la case Divers par remplie ) si oubli pendant le pointage alors pas de transfert.

      Je ne sais pas comment te dire encore merci pour tout ton travail.

      Super

      Bat
      @+
      0
    4. skopg Messages postés 74 Statut Membre
       
      Re Via55,

      Je crois que je vais abuser de ta patience car peux-tu stp regarder car après avoir mis le 1 dans sortie ext et que si on oublie de remplir la case DIVERS.

      Qu'une msgbox dise que cette case est vide et nécessaire pour le transfert.

      Avec juste le 1 dans présence et pas de sortie ext cela fonctionne ca tu le sais.

      Moi je tourne en rond pour cette condition vraiment je n'y arrive pas j'avais eu un semblant de réponse avec ( présence et sortie ext ) et même une msgbox pour me dire de remplir DIVERS.

      Mais car il y a toujours un mais après je n'ai fais que présence et la ca ne marche plus?

      Bat
      @+
      0
    5. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Re

      Je veux bien mais il me faut le fichier au point où tu en es
      Je n'ai que l'exemple pour l'UF
      Dans l'attente

      Via
      0
  10. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Re,

    Dernière version

    https://www.cjoint.com/?0Jwcsh3ucDo

    les lieux se mettent de I1 à I6 (tu peux les cacher en agrandissant un peu le bouton)

    A tester dans tous les sens

    La feuille est protégée et les cellules avec formules ainsi que les kms et lieux sont verrouillées
    Chaque macro enlève d'abord la protection pour pouvoir travailler sur la feuille et la reprotège à la fin

    j'ai laissé les filtres sur les colonnes car ils sont nécessaires sinon les boutons ne fonctionnent pas mais ils sont inactifs manuellement étant donné la protection de la feuille

    Si tu as besoin de déproteger momentanément la feuille pour faire une modif Onglet Revision Oter la protection (je n'ai pas mis de mot de passe) Ne pas oublier de reproteger ensuite

    Bien cdlmnt

    @+

    Via

    0
    1. skopg Messages postés 74 Statut Membre
       
      Bonjour Via55,

      Merci pour ton travail ton temps et ta patience.

      Je teste tout mon classeur et te tiens informé de la situation qui me paraît à première vue bon.

      Bonne journée d'ici la.

      Bien à toi Skopg
      0
    2. skopg Messages postés 74 Statut Membre
       
      Bonjour Via55,

      un super grand merci pour ton travail.

      Mais malheureusement il y a encore un mais quand je double clic pour sortie ext et que msgbox apparaît ok pas de problème j'introduis les lieux et puis je double clic et les lieux s'indiquent
      la ou il y a un 1.
      mais, c'est ici que vient le mais,si je double clic pour faire case blanche je ne sais plus faire revenir ma msgbox pour éventuellement y changer de lieu ( car si erreur dans lieu ) je fais devoir me faire onglet par onglet.

      Ne peux t'on pas le faire venir avec un bouton de même pour les kms si aussi erreur , tu vas me dire que l'on ne doit pas faire d'erreur.

      Aussi si plus tard j'ai plus de membres il me suffit d'insérer de nouvelles lignes et voir si je dois changer ma longueur dans mes macros du style E3:E157 devient E3:E162 par ex.

      Bat
      @+ skopg
      0
    3. skopg Messages postés 74 Statut Membre
       
      Re Via55,

      pendant mon message j'ai trouvé pour le UserForm1 ( les kms ), mais je ne trouve pas pour le UserForm2 ( Lieux ).

      Ne serait il pas préférable de mettre la msgbox seulement en fin de pointage juste avant de faire le transfert des données que la msgbox vienne qu'on n'y mette les lieux et que l'on confirme pour transfert ou pas ?

      Si oui ok si non on revient sur la feuille ou tout simplement sur msgbox kms pour etre certains sur de ces derniers je sais c'est sans doute un peu long mais on n'est jamais assez prudent.

      Une faute est si vite faite.

      Bat
      0
    4. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Bon jour Skopg

      Je viens de rentrer et je trouve tes messages.
      Ca devient un peu une usine à gaz ces UF pour les kms et les lieux !

      En fait comme leurs données sont reportées en haut de la feuille en H et I, ne serait-il pas plus simple d'inscrire directement dans ces cellules sur la feuille et de n'autoriser le double-clic que si les données sont remplies ? Ce qui permet facilement de les modifier après
      Pour les kms je pense que ça ne pose pas de problème puisqu'ils sont ensuite répartis par catégories dans la feuille par formule donc mise à jour immédiate

      Par contre pour les lieux on ne peut pas mettre de formule dans Divers puisque tu te réserves la possibilité de changer de lieu pour certaines personnes , donc il faut que le lieu s'inscrive par macro chaque fois que tu mets un 1 mais si on change après dans la liste en I1:I6 la modification ne sera pas reprise dans la feuille, pour l'instant je ne vois pas de solution sauf d'avoir une msgbox qui affiche par défaut le lieu de la catégorie concernée s'affichant à chaque rentrée de 1 dans Sortie ext avec possibilité de changer le lieu avant de valider et report ensuite sur la ligne concernée du lieu par défaut ou du nouveau lieu; mais ça oblige au minimum à cliquer sur OK à chaque entrée

      Qu'en penses-tu ?

      Bien cdlmnt

      Via
      0
    5. skopg Messages postés 74 Statut Membre
       
      Bonsoir Via55,

      tu as raison cela devient comme tu dis une usine à gaz il est vrai que ce type de classeur est BIEN,et en vouloir en demander trop est comme on dit trop tue le trop.

      S'il faut changer une donnée ou l'autre et bien cela se fera via l'onglet concerné.

      Il est vrai qu'il ne devrait pas y avoir beaucoup de données a changer et quand bien même.

      Si on regarde bien la feuille de pointage avant d'encoder on saura déjà la ou il sera nécessaire de le faire.

      Je pense et tu me dis si j'ai raison mais on va si je peux me permettre en rester là avec ce classeur qui a son look ( non ) et qui nous pardon t'as pris beaucoup de ton temps.

      Il m'a été agréable de discuter avec toi et j'ose espérer si nécessaire ( pas trop souvent quand même, Lol ....Mdr ) revenir sur ce site pour un autre classeur.

      Bat

      @+
      0
  11. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour skopg

    1) pour l'alerte 2 possibilités :
    - soit tu ne mets qu'un seul bouton pour Transferer puis Classer et dans le code du bouton tu fais lancer successivement la macro transfert puis la macro Classement (c'est l'option sécurité absolue pas de classement sans transfert)
    - soit tu veux conserver les 2 boutons et tu mets au début de la macro transfert une ligne : transf=0 puis à la fin de la macro la ligne : transf=1
    Avant la macro il faut déclarer la variable trans comme publique pour être utilisée par l'autre macro donc tu mets cette ligne (au dessus de Sub TransfererlesDonnées()) : Public transf as integer
    Ensuite au début de la macro classement tu mets cette ligne :
    If transf = 0 Then MsgBox ("Transfert impossible les données n'ont pas été transférées"): Exit Sub

    2) Dans la feuille classement la colonne A suit le tri effectué.
    Essaye de réengistrer une macro de tri en excluant la colonne A
    Si ça ne fonctionne pas il faut qu'à la fin de la macro tu mettes quelque chose comme
    For n= 1 t0 149
    Range("A" et n +1)=n
    Next
    pour réinscrire les n°s dans l'ordre en colonne A

    Cdlmnt
    0
    1. skopg Messages postés 74 Statut Membre
       
      Re Via55,

      excuse-moi du retard mais encore essai, les formules ont l'air de fonctionner dans
      For n= 1 t0 149 ici c'était un zéro et non un O
      Range("A" et n +1)=n le et était un & de concatene

      C'est bien car j'ai trouvé et pas demandé de ton aide tout de suite......Lol.

      Je laisse les 2 boutons car si pas certain et que direct transfert et classement
      on n'oubliera sans doute de changer dans un onglet ou autre si vraiment erreur ( c'est je pense une première sécurité )

      Pour le classement le For ...........cela fonctionne, mais ( encore la celui la ), j'ai fais 2,3 essais et même après transfert si je clique sur MaJ il dit que " transfert impossible................."

      Bat
      0
  12. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Re

    Oui j'avais 2 erreurs en tapant vite avant de partir car je voulais que tu aies la réponse ! Tu as su rectifié, bravo

    Pour la MAJ vérifie que tu as bien fait comme je tai indiqué pour la variable transf et surtout que tu l'a bien déclarée comme Public en début de module
    si la macro refuse la MAJ c'est que pour elle transf=0; même s'il transf est bien à un en fin de la macro de tranfert si la variable n'est pas déclarée Public elle n'est valable que pour cette macro donc pour la macro de MAJ elle vaut toujours 0 !

    Via
    0
    1. skopg Messages postés 74 Statut Membre
       
      Re Via55,

      je vais stopper pour ce soir ,je me prends trop la tête.
      J'ai fais comme tu m'as dis mais rien ni fait.

      Transfertt est fait mais MaJ me donne toujours msgbox????.

      Bat
      0
    2. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Re

      Je ne sais pas quoi te dire ! Sans voir le fichier et les macros; sur ma version ça marche
      Ce ne doit pas être grand chose
      Pour l'instant tu peux mettre une ' devant le IF transf=0... pour shunter la ligne et tu mets en dessous une autre ligne avec simplement msgbox("Avez-vous pensé à transférer d'abord")
      comme rappel, ça ne bloque pas la procédure et ça te permet de finir tes essais
      Quant tout fonctionnera il sera temps de voir ce qui ne pas

      Courage !

      Via
      0
    3. skopg Messages postés 74 Statut Membre
       
      Re Via55,

      si je fais ca et que je clique MaJ il ne me donne pas le msgbox il fait le transfert direct.

      Veux tu que je te fasse parvenir en anonymé le fichier sur ta boite.

      Bat
      0
    4. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Re

      oui envoie moi le fichier

      via
      0
    5. skopg Messages postés 74 Statut Membre
       
      re Via55,

      c'est fait

      bat
      0
  13. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    OK je viens de voir

    En fait il faut placer transf=1 avant le End iF comme ceci (et effacer celui en bas de la sub

    Sheets("test").Range("P" & n) = "X"
    transf = 1
    End If

    Ensuite tu peux "rebrancher" le IF transf=0... dans la macro classement

    Bonne suite, continue à me tenir au courant

    Via
    0
    1. skopg Messages postés 74 Statut Membre
       
      Re Via55,

      Ok mais cela fonctionne une fois puis quand je fais nouvelles entrées je remplir plusieurs cases et si je fais MaJ et bien pas de msgbox ?

      Et par la macro je suis sur la feuille classement.

      Bat
      0
    2. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Re skopg

      Pas répondu tout de suite, j'étais sur autre chose ;)
      Avant de faire de nouvelles entrées tu clic sur le bouton qui efface les anciennes, alors il faut remettre la variable trans à 0 dans cette macro transf=0 à placer en début de macro

      Ta macro Classement sélectionne au début la feuille Classement, c'est normal que tu te trouves dessus ensuite; pour revenir à la feuille Test mets en fin de la macro Classement sheets("test").activate

      Tu tiens le bon bout !

      Via
      0
    3. skopg Messages postés 74 Statut Membre
       
      Bonjour Via55,

      J'espère que " autre chose " était agréable ( lol mdr........).

      Pour le moment ca fonctionne ( je croise les doigts ).

      J'ai ajouté ( Is Nothing And Application.Intersect(Target, Range("I9:I157")) ) pour double clic sur N.

      Je vais voir pour ajouter une msgbox pour quand on fait sortie ext et après avoir remplis la msgbox pour le lieu de ne pas oublier de cliquer dans la colonne N dans le cas où le lieu est une Abbaye.

      Sur feuille test le bouton MaJ j'ai mis la macro vers feuille classement ( juste pour un regard éventuel ).

      Sur feuille classement le bouton Maj reste tel quel ( ainsi on voit le changement s'effectuer lors du clic ).
      Et bien sur annuler sheets("test").activate .

      Dis moi ce que tu en penses.

      Bat
      0
    4. skopg Messages postés 74 Statut Membre
       
      Bonsoir Via55,

      Je reviens de congés et je regarde le classement il y a juste un truc ou je cale c'est sur Nvl entrées,
      si je clique dessus une première fois sans avoir fais des entrées la msgbox fonctionne mais après elle efface ce que je viens de faire alors que je n'ai pas transféré ???

      J'ai mis une msgbox pour qu'une seule personne puisse mettre à zéro le classement pour une

      nouvelle année mais je dois faire 2x la MaZ pour que l'ordre alphabétique soit correcte pourquoi???

      Merci si ce n'est pas trop te demander de m'aider.

      Bien à toi Skopg
      0
  14. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonsoir Skopg

    J'espère que les vacances ont été bonnes
    Je ne dois pas avoir ta dernière version du fichier, envoie la moi et je regarderai tout ça

    Bien cdlmnt
    Via
    0
    1. skopg Messages postés 74 Statut Membre
       
      Bonjour Via55,

      je viens de rentrer du vélo je te fais le lien dans ta boite perso ( cela m'évite de changer tout les noms ).

      Tu peux aussi regarder que dans la liste des coureurs si cela est correct dans le cas ou il me faut ajouter de nouveaux membres avec une base ( je vois grand de 200 Noms ,dans le style

      " insertion nouveau, supprimer ancien " ) et si toutes les macros fonctionnent avec cette éventualité.

      Dans l'attente de te lire

      Bien à toi
      0
  15. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Re

    j'ai modifié la feuille classement pour avoir automatiquement les infos à partir du nom et la MAJ a l'air de se faire correctement

    J'essaye maintenant de modeliser pour ajouter modifier supprimer un nom (creation auto de la fiche, report des infos dans test etc)
    Certaines cellules m'embêtent ! A quoi servent les cellules G, K L et N 8 ? et pourquoi sont elles basées sur E9 ?
    Si on peut supprimer les formules dedans cela m'arrange, sinon j'aviserai

    @+
    0
    1. skopg Messages postés 74 Statut Membre
       
      Re Via55,

      Les cellules G,pour les kms de chaque coureur ;K pour le point de présence; L pour le point de sortie ext ( 1 passe à 2 ) et N 8 sert quand dans sortie ext il y a le mot "Abbaye " ainsi je n'oublie pas de mettre le 1 dans la colonne N.

      Elles se basent sur E9, car au départ il y a RECHERCHEV par Kilom sur H1 H6.

      Bien à toi

      si besoin a toute
      0