Problème de copie avec USF

Bonjour à tous,

Je me tourne vers vous car je rencontre un problème que je n'ai pas réussi à résoudre.

Je joins en PJ un fichier simplifié

Petit descriptif du fichier

Voici ce qui fonctionne:

J'ai un onglet "DONNEES-RESULTATS" qui reprend l'ensemble de mes données.

J'ai un onglet "C13" et "O18" où je renseigne chaque colonne.

En utilisant scripting dictionnary:

  • si le numero échantillon existe dans la colonne A de l'onglet "DONNEES - RESULTATS" quand je tape ce numero dans la colonne A de l'onglet "C13", rien n'est créé.
  • si le numero échantillon n'existe pas dans la colonne A de l'onglet "DONNEES - RESULTATS" quand je tape ce numero dans la colonne A de l'onglet "C13", celui-ci est créé dans la première cellule vide dans la colonne A de l'onglet "DONNEES - RESULTATS".

Descriptif du problème

Voici ce que j'aimerai en ayant rempli la colonne type :

  • si le numero échantillon existe dans la colonne A de l'onglet "DONNEES - RESULTATS" quand je tape ce numero dans la colonne A de l'onglet "C13", il faudrait une vérification du type:
  • Si identique ne rien faire
  • Si different proposer un choix entre la valeur type de l'onglet "DONNEES - RESULTATS" et l'onglet "C13"

- si le numero échantillon n'existe pas dans la colonne A de l'onglet "DONNEES - RESULTATS" quand je tape ce numero dans la colonne A de l'onglet "C13", celui-ci est créé dans la première cellule vide dans la colonne A de l'onglet "DONNEES - RESULTATS" ainsi que la copie du type.

J'espère que mes explications sont comprehensibles.

Merci pour votre aide.

33test.zip (11.48 Ko)

Bonjour

A tester

Bonjour Banzai64,

Je te remercie de t'être intéresser à mon problème. Je viens de tester ton fichier et celui-ci fonctionne très bien. C'est exactement ce que je recherchais à faire. Le seul souci se situe à ce niveau:

- si le numéro échantillon existe dans la colonne A de l'onglet "DONNEES - RESULTATS" quand je tape ce numéro dans la colonne A de l'onglet "C13", il faudrait une vérification du type entre les 2 onglets:

- Si identique ne rien faire et j'ai une ouverture systématique de la boite de dialogue.

- Si différent proposer d'effectuer un choix entre la valeur type de l'onglet "DONNEES - RESULTATS" et l'onglet "C13" qui est fonctionnel.

Dans ton fichier si j'ai une même valeur dans la colonne A de l'onglet "C13" avec un même type j'ai une ouverture de la boite de dialogue.

En tout cas merci beaucoup pour ton aide

Bonjour

ce que j'ai fait

Quand tu tapes le type il y a vérification du numéro--> si existe etc...

Toi tu voudrais quand on tape le numéro il faut faire la vérification --> si existe etc....

Exact ?

On supprime ce que j'ai fait ?

Bonjour Banzai64,

comme tu dis:

Toi tu voudrais quand on tape le numéro il faut faire la vérification --> si existe etc....

Exact ?

c'est bien cela que je voudrais. Et non, on n'efface pas ton travail car il correspond à ce que je cherche à obtenir.

Je vais travailler sur ton code et l'adapter afin que cela corresponde à ce que je recherche car le type n'est pas toujours égale à la colonne B dans les différents onglets.

De plus ton exemple ouvre une voie d'amélioration notable qui me permettra de faire évoluer mon projet (cf mon autre demande):

https://forum.excel-pratique.com/excel/ameliorations-possibles-doublons-t33088.html

Toute aide est toujours la bienvenue et avec celle-ci on avance.

Bonjour

Mais tu continues ce post ou tu le clos pour reporter tes questions sur l'autre ?

Bonjour,

Je clos l'autre post afin d'éviter les redites.

Mise à jour de celui-ci:

darkjedi a écrit :

Bonjour à tous;

Grâce à l'aide de ce forum, j'ai pu créer un petit programme pour mon travail alors qu'il y a 3 mois de cela je ne connaissais rien de rien à propos de tout ceci.

Cependant je rencontre divers problèmes qui sont certainement minime mais que je ne réussis pas à résoudre.

Avec votre aide, je suis certain que cela n'en sera plus un.

Problème 1:

J'ai un fichier qui me sert de base de données avec plusieurs onglets.

Dans celui-ci, à partir de l'onglet "ACCUEIL", j'active un USF qui me servira à saisir des données liées entre elles (pays - région - département - code postal - commune) => étape 1 = saisie

Dans celui-ci, à partir de l'onglet "ACCUEIL", j'active un USF qui me permettra de filtrer ma base de données => étape 2 = filtrage

Le code vba me semble lourd.... quelles sont les améliorations possibles en sachant que l'onglet "BD" contient 37000 lignes liées entre elles (pays à commune).

L'onglet "FILTRATION" me permettra la mise en place du géocodage et la création d'un fichier exploitable par google maps. Cela n'est pas encore certain.

Problème 2:

Quand je saisis un numéro d'échantillon colonne A de l'onglet "Moyenne RMN" ou autre pour entrer mon résultat d'anaylse, existe-t-il un moyen pour qu'une vérification se fasse sur la colonne A de l'onglet "DONNEES - RESULTAT" . Ainsi si le numéro saisi n'existe pas il faudrait que celui-ci soit reporté sur la première ligne libre de cet onglet en colonne A. Il en sera de même pour chaque onglet présent où je saisis mes résultats.

Problème 3:

Dans l'USF1, j'aimerai ajouter un bouton de commande qui permettrai la modification d'une ligne de l'onglet "DONNEES - RESULTAT". Ce bouton ouvrira une boite de dialogue où je saisirai le numéro échantillon voulu. Ensuite en validant mon choix, mon USF1 se remplirai avec les données déjà saisi dans cet onglet. Je suis perdu car je n'y arrive pas.

Cordialement.

Lien pour fichier simplifié:

https://forum.excel-pratique.com/download/file.php?id=32954

Merci pour toutes les aides.

Cordialement.

Le problème n°2 a été résolu avec l'utilisation de "scripting dictionnary". Grâce à Banzai64 que je remercie, le code a été amélioré.

Cependant les problèmes 1 et 3 n'ont pas encore été résolu. Le point n°3 est le plus important et si quelqu'un a une piste je suis preneur.

Merci

Bonjour

J'essaie de comprendre ton code, ne sois pas pressé

Mais une base de données avec 1 ligne à quoi cela sert

Comment peux tu filtrer ?

Une bonne cinquantaine devrait suffire

Comment en choisissant Allemagne comme pays pour filtrer, tu peux choisir de filtrer sur une région ou un département de la France

Ca a l'air compliqué

Wait & See

Bonjour Banzai64,

Je voulais te remercier de m'accorder de ton temps.

Je joins en PJ, une copie retravaillée de mon fichier avec une partie de l'amélioration que tu m'as donné.

Je n'ai pas eu le temps d'intégrer ta seconde partie.

Pour le moment je n'avais pas encore fait de test de filtration et c'est vrai que si je choisis l'Allemagne en tant que pays, je peux filtrer sur 1 région ou 1 département de la France. En validant mes choix je n'aurais aucune donnée ce qui me parait juste. Cela fonctionne mais ce n'est pas nominal.

Tu as soulevé un autre problème que je n'avais pas remarqué.

Il est vrai que cela serait mieux d'avoir des combos en cascade qui dépendraient des différents choix de filtration càd par exemple

1) pays > 2) ville > 3) cp...

1) ville > 2) pays > 3) cp...

1) cp > 2) pays > 3) ville...

1) ville > 2) cp > 3) pays...

Donc la difficulté vient du fait que la combo 1 n'est pas figé qu'avec la base de données pays et ainsi de suite. Tout dépendra du choix de l'utilisateur.

J'ai mis en place la filtration car le but sera de géocoder les lignes filtrées et ensuite de les géolocaliser (création fichier Kml) pour permettre une utilisation avec GM ou GE.

Mon code n'est pas top car je découvre la programmation.

Cordialement.

Bonsoir

Débile ce truc

Pas de vidéo --> Pas de réponse ---> pas fichier ---> problème réglé

Essayes Cjoint http://cjoint.com/index.php

Bonsoir

Ok après d'autres essais j'ai pu récupérer le fichier

Expliques comment tu fais pour avoir le code échantillon en colonne A alors que dans le code tu copies la TextBox1 en colonne B ?

Lequel est bon ?

Bonjour;

Le fichier ne doit pas etre le bon car la textbox1 dans l'USF "saisie" doit etre copier dans la colonne A et non en colonne B.

Voici le fichier à télécharger exempt d'erreur:

Je n'ai pas encore intégrer la partie de copie du "type".

Trop de travail et pas assez de temps pour améliorer le fichier aujourd'hui.

Merci pour le temps que tu me consacres.

Cordialement.

Bonjour

Des difficultés entre ta façon de mettre à jour tes combobox et l'affichage des données lorsque l'enregistrement existe

Cela prend du temps avec plus de 37 000 communes les combobox en cascades mettent du temps à s'initialiser

Je ne sais pas si c'est une bonne solution ce que je suis en train de faire

Wait & See

Bonjour à tous.

Bonne et heureuse année 2013 à vous.

Mon fichier a bien avançé durant ce mois décembre avec beaucoup de recherche sur internet au vu de mon niveau VBA.

Je l'ai complété afin de pouvoir géocoder mes adresses filtrées et créer le fichier KML correspondant afin de pouvoir l'utiliser sous GM ou GE.

Suite au problème relevé par Banzai64, le problème des comboboxs non liées pour la filtration de la BDD a été résolu.

Cependant mon code est lourd. Quelles peuvent être les améliorations possibles?

Le problème n°2 n'a pas été entièrement résolu malgré l'aide de Banzai64.

Quand je saisis un code échantillon dans l'onglet "O18"

Si celui-ci existe dans l'onglet "Données-résultats", alors le type (colonne 3 onglet "Données-résultats") est recopié dans la colonne type de l'onglet "O18" sur la ligne correspondant au code échantillon saisi.

Si celui-ci n'existe pas dans l'onglet "Données-résultats" alors le type saisi dans l'onglet "O18" est recopié dans l'onglet "Données-résultats" dans la colonne type sur la ligne correspondant au code échantillon saisi.

Je joins une copie de mon fichier amélioré compressé par winrar:

Merci pour toute aide.

Cordialement.

Bonjour

Impossible de charger ton fichier, je n'obtiens que des hiéroglyphes

Bonjour,

Désolé pour le fichier précédent. Je l'avais vérifier avant de le mettre en ligne mais je ne sais ce qui s'est passé.

Voici le lien pour le nouveau fichier que je viens de tester et où il n'y a aucun problème à priori:

https://www.cjoint.com/c/CAglWIiysO8

Cordialement.

Bonjour

Désolé mais je ne vais pas pouvoir t'aider, je ne comprends pas ton programme

Déjà d'entrée il ne veut pas des instructions Declare PtrSafe Function ........

Tu devrais clore ce sujet et en recommencer un autre en détaillant bien tes problèmes

Bonsoir,

Pour les instructions Declare PtrSafe Function ........ cela est dû à mon pc. C'est un 64 bits donc pour le fonctionnement de ces fonctions je suis dans l'obligation de rajouter PtrSafe

Ces fonctions ne sont que dans le module copyboard.

Cordialement.

Je joins un fichier sans ce problème de PtrSafe.

https://www.cjoint.com/c/CAgtibAmX8c

Ce programme doit me servir à géolocaliser des points avec des infos sur GE ou GM par le biais d'un fichier KML tiers.

Bonjour,

Ouverture d'un nouveau fil pour amélioration du code vba.

Rechercher des sujets similaires à "probleme copie usf"