Alimentation d'un tableau selon plusieurs critères

laurent66182 Messages postés 1 Date d'inscription jeudi 4 août 2011 Statut Membre Dernière intervention 4 août 2011 - 4 août 2011 à 22:02
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 6 août 2011 à 12:05
Bonjour à tous, je poste ici mon premier message.

J'ai un tableau de données sous la forme :

(C'est un exemple, je veux juste comprendre le principe pour l'étendre à mon application)
J'aimerais l'incrémenter avec un userform de type :


Jusque là je sais faire.
Maintenant j'aimerais que si pour la date selectionnée ET la personne sélectinnée, la ligne existe déja; une msgbox apparaisse pour me demander "Ces données existent déja, êtes vous sûr de vouloir les écraser? Oui/Non".
Si je répond oui, les données sont écrasées, sinon le msgbox se ferme.

Je débute en VBA et n'ai absolument aucune idée de comment procéder...
Merci pour votre aide.

Cordialement,

2 réponses

galopin01 Messages postés 133 Date d'inscription lundi 4 octobre 2004 Statut Membre Dernière intervention 14 octobre 2011 1
6 août 2011 à 03:31
bonjour,
Faire une boucle sur tes données et créer un Dictionnary qui va contenir un string concaténé avec Date & Nom
Un Dictionnary ne crée pas de doublon.
Lors de l'appui sur le bouton Générer tu vas tester si le string Date & Nom existe déjà dans ton Dictionnary.
Pour un exemple fournir un fichier Test avec la BDD et le userform.
A+
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
6 août 2011 à 12:05
Bonjour,
et même sans dictionnaire (si tu répugnes à en utiliser un) :
ajoute une colonne cachée (de largeur nulle, par exemple), dans laquelle tu concatenes les deux données (date et prénom)
Cette concaténation peut se faire par utilisation d'une simple formule Excel, genre, pour concaténer en colonne C1 "cachée" les données de A1 et B1 ===>> =A1 & B1, formule à étirer ensuite vers le bas
Il te suffira alors d'utiliser la méthode Find sur cette colonne pour savoir si existe déjà ou non

____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
0
Rejoignez-nous