XL 2016 Importer des données suivant l'ordre de passage

  • Initiateur de la discussion Initiateur de la discussion YGU1
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

YGU1

XLDnaute Junior
Bonjour,
He oui je reviens dans cette discussion concernant l'évaluation des juges, mon applicatif a beaucoup évolué et j'aurai voulu l'automatiser
Je reçois un fichier EXCEL(Onglet EXPORT) plus ou moins organisé suite à une compétition de Natation artistique, et je ferai du ménage pour le présenter toujours de la même manière
1748679346527.png

Le fichier Excel que je reçois sera toujours présenté de cette façons
Ordre de passage
5 colonnes
4 à 11 lignes
Une ligne séparation
Et 3 lignes.
Je souhaiterai en fonction de l'ordre de passage, que ces données (ONGLET EXPORT)soient importées dans l'onglet données où figure un ordre de passage croissant de 1 à 30

Si l'ordre de passage dans mon fichier est 5, il doit importer et coller les valeurs dans l'onglet données dans la zone 5
Si l'ordre de passage dans mon fichier est 1 la procédure doit importer et coller les valeurs dans l'onglet données zone 1
En faite la mêmes chose de 1 à 30.
Des fois de 1 à 10, de 1 à 15, ou de 1 à 30. Le nombre est défini à la préparation de la compétition dans l'onglet données
Une macro serait placée sur un bouton
Pouvez vous me guider ? j'ai crée un fichier EXCEL en PJ (EVAL_V3.xlsx)simplifié pour expliquer ce que je souhaite.
1748680193553.png


Cordialement
Yves
 

Pièces jointes

  • 1748679781594.png
    1748679781594.png
    13.9 KB · Affichages: 85
  • 1748679851562.png
    1748679851562.png
    23.3 KB · Affichages: 90
  • 1748680078388.png
    1748680078388.png
    2.5 KB · Affichages: 91
  • EVAL_V3.xlsx
    EVAL_V3.xlsx
    30.6 KB · Affichages: 7
Solution
Bonjour YGU,
mais les développeurs de la FFN n'ont pas pu m'exporter le fichier csv comme je voulais au départ,
"n'ont pas pu" ou "n'ont pas voulu" ?
C'est toujours galère lorsque le format change puisque c'est la base des macros.
Un essai en PJ pour tester.
Il y a un bouton gris qui permet d'effacer les données, et remettre la feuille NEW_EXPORT avec le nouveau format. Ce qui permet de tester facilement.
Bonjour Sylvanu,
Tes macros fonctionnaient parfaitement sur l'exemple fourni, je suis en train de modifier l'application définitive et je viens de m'apercevoir que les notes qui devaient arriver dans l'onglet DONNEES en colonne D, et c'est de ma faute, je t'avais envoyé un onglet avec C en première colonne : donc si tu fais le test avec ta macro d'import les notes sont décalées.
Je suis vraiment désolé, mais j'ai essayé de modifier les macros mais impossible pour moi
Cordialement
YGU
1762582826938.png
 

Pièces jointes

Bonjour Ygu,
A priori il suffisait de changer colonne C en D, et G en H dans :
VB:
Cells(20 * Numéro - 15, "D").Resize(UBound(TabloBleu, 1), UBound(TabloBleu, 2)) = TabloBleu
Cells(20 * Numéro - 2, "D").Resize(UBound(TabloJaune, 1), UBound(TabloJaune, 2)) = TabloJaune
et
Range(Cells(DébutBleu, "D"), Cells(DébutBleu + 11, "H")).ClearContents
Range(Cells(DébutJaune, "D"), Cells(DébutJaune + 3, "H")).ClearContents
Vérifiez cette PJ et dites moi si c'est ok.
 

Pièces jointes

Bonjour Ygu,
A priori il suffisait de changer colonne C en D, et G en H dans :
VB:
Cells(20 * Numéro - 15, "D").Resize(UBound(TabloBleu, 1), UBound(TabloBleu, 2)) = TabloBleu
Cells(20 * Numéro - 2, "D").Resize(UBound(TabloJaune, 1), UBound(TabloJaune, 2)) = TabloJaune
et
Range(Cells(DébutBleu, "D"), Cells(DébutBleu + 11, "H")).ClearContents
Range(Cells(DébutJaune, "D"), Cells(DébutJaune + 3, "H")).ClearContents
Vérifiez cette PJ et dites moi si c'est ok.
Cela fonctionne bien maintenant avec tes modifications, mais pour que tu puisses manipuler facilement le fichier en PJ je n'avais pas verrouillé les cellules qui redoivent les notes dans l'onglet DONNEES. Si je verrouille les cellules bleues et jaunes par MDP je ne peux p
 
Re,
On peut passer outre en VBA de la protection de la feuille, avec :
VB:
ActiveSheet.Protect UserInterfaceOnly:=True
sans avoir connaissance du mot de
Lorsque je veux importer mes données, il me demande le MDP, je souhaitai que l'utilisateur n'ai pas à saisir le MDP pour importer les données, le MDP est là pour protéger les cellules qui sont dans l'applicatif que je ne veux pas que l'utilisateur les effacent ou change la configuration d'emplacement des données.
Cordialement
 
Oups, manque de tests. 😱
Une nouvelle PJ avec :
VB:
Déprotection :
ActiveSheet.Unprotect "REZATY#@54"
Protection :
    ActiveSheet.Protect "REZATY#@54"
Pour l'instant cela fonctionne de nouveau avec le fichier de test, je vais maintenant continuer le paramétrage de l'applicatif et je reviendrai lorsque tout sera opérationnel pour marquer comme solution
Encore merci pour ton investissement et professionnalisme
YGU
 
Maintenant que le nouveau fichier de test V5 fonctionne, je souhaiterai rajouter 35 lignes au dessus du fichier comme en pièce jointe, dans cette zone grise, des listes déroulantes pour insérer des juges seront prévues et des informations supplémentaire seront rajoutées.
Avec les macros actuelles, la première donnée arrive toujours en D5 peut-on la faire arriver en D41 ?

Tu dois me trouver très lourd avec ces modifications, mais au départ, je n'avais pas pensé que de mettre des lignes supplémentaires aurait été problématique.

Cordialement
YGU
 

Pièces jointes

Re,
Il suffit de décaler les lignes d'écriture de 36.
Bonjour Sylvanu
Cela parait tellement évident et pour l'instant tout fonctionne correctement, je ne vais pas marquer comme solution, je suis plus prudent maintenant, j'attendrai de finaliser mon application EXCEL et je reviendrai ici
Je te remercie encore de ta patience et de ta réactivité
Cordialement
YGU
 
Bonjour Sylvanu
Cela parait tellement évident et pour l'instant tout fonctionne correctement, je ne vais pas marquer comme solution, je suis plus prudent maintenant, j'attendrai de finaliser mon application EXCEL et je reviendrai ici
Je te remercie encore de ta patience et de ta réactivité
Cordialement
YGU
Je suis en train de remplir la zone grise sur l'onglet données, l'application comprendra plusieurs onglets, l'onglet NEW_EXPORT sera inséré par l'utilisateur lorsque la compétition sera finie mais entre temps il peut paramétrer l'onglet DONNEES avec les clubs ; le nombre de juges etc ...............
Si dans l'application l'onglet NEW_EXPORT n'est pas encore présent pendant que l'utilisateur remplit les différents champs dans la zone grise et si l'utilisateur appui sur le bouton IMPORTER LES DONNEES, l'application reste déverrouillée, la macro n'a pas pu se finaliser, c'est ennuyeux car l'utilisateur peux déplacer par erreur des cellules ou les modifier et entrainer un dysfonctionnement.

Peut-on faire en sorte qu'un message apparaisse en gros lorsque l’utilisateur appuie sur le bouton IMPORTER LES DONNEES lorsque vous n’avez pas inséré l’onglet NEW_IMPORT dans l’application, il n’est donc pas actif si cet onglet n’est pas présent ?

Bon dimanche
Cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
207
Réponses
5
Affichages
492
Retour