Déclenchement ListBox -

Bonjour

A vérifier

C'est ce que je voulais, merci. Le bouton "have a Look !" sera surement supprimé par la suite.

J'ai continué la macro, mais en "bidouillant" la forme, je rencontre le problème suivant :

Lorsque je click sur "have a Look !" ou "Launch the comparaison" ou peut être "Initialise", en plus des onglets Feuil1 et Feuil2, apparaissent les onglets "Feuil1 (3) ; Feuil2 (3) ; Feuile1 (2) et Feuil2 (2) = chose que je ne veux pas mais je n'arrive pas à trouver d'ou provient l'erreur).

Je souhaiterai ainsi les supprimer

Merci !

Bonjour

A tester

C'est tout bon, une fois de plus

Je me rend compte que le programme est assez long à exécuter (du fait des 43 000 lignes du Tableau_1 et des 5000 du Tableau_2)

Le tableau_1 est plus grand mais il y a qu'une 20ène de critères dans ListBox_1 contrairement a ListBox2 ou il doit y en avoir 100 (mais seul le quart m'intéresse pour la comparaison)

Ainsi, je souhaiterai savoir s'il est possible d'enlever des valeur dans la ListBox_2,

Par exemple, est-il possible d'enlever le choix "IFCE" dans ListBox2 ?

Merci

Bonjour

Modifies le code de la macro Alimente_Listbox2

  'Boucle sur les données de la colonne A, dans la Feuil1
  For Each Cell In Worksheets("Feuil1").Range("N2:N" & Worksheets("Feuil1").Range("N65536").End(xlUp).Row)
    If Cell <> "IFCE" Then
      boolVerif = False
      ' .
      ' .
      ' .
      Next I
   End If
  Next Cell

  'Alimente la ListBox2
  ListBox2.List = Tableau

End Sub

Pour une fois j'avais le bon code mais au bon endroit...

Quelle méthode me conseillez-vous pour imbriquer les If pour ne pas ralentir le programme ?

  
For Each Cell In Worksheets("Yq_ProgressBackupWP3").Range("N2:N" & Worksheets("Yq_ProgressBackupWP3").Range("N65536").End(xlUp).Row)
    If Cell <> "0F" And Cell <> "100S" And Cell <> "10S" Then
                boolVerif = False

ou

  For Each Cell In Worksheets("Yq_ProgressBackupWP3").Range("N2:N" & Worksheets("Yq_ProgressBackupWP3").Range("N65536").End(xlUp).Row)
    If Cell <> "0F" Then
        If Cell <> "100S" Then
            If Cell <> "10S" Then
                boolVerif = False

Merci !

Bonjour

Fais le test avec chaque solution et tu auras ta réponse

Je serai étonné (mais sait-on jamais) qu'il y ait beaucoup de différence

En fait je me rend compte que j'ai plus de paramètre à enlever qu'a garder,

De ce fait je voudrai faire l'inverse, j'ai pensé au code suivant mais ...

For Each Cell In Worksheets("Yq_ProgressBackupWP3").Range("N2:N" & Worksheets("Yq_ProgressBackupWP3").Range("N65536").End(xlUp).Row)

                boolVerif = False
                'Vérifie si le contenu de la cellule existe déjà dans le tableau
                For I = 1 To UBound(Tableau)
                  'Si la donnée existe déjà dans le tableau
                 If Cell = "IFCE" Then
                    If Tableau(I) = Cell Then
                      ..... 

Bonjour

Il faut placer ton/tes test(s) en lieu et place des autres

Regardes ce que t'avais proposé

J'ai trouvé c'est tout bon.

Par contre comment mettre toutes les lignes dont le numéro est manquant (celles en rouge) dans une nouvelle feuille afin d'avoir un meilleur aperçut des fichiers manquant ?

Merci

Bonjour

Il faudrait que tu joignes la dernière version du fichier

J'ai essayé de commencer le code mais...

Merci !

10doc-from-pdbc.xlsm (56.37 Ko)

Bonjour

A tester

Bjr ! Je vous demande encore de l'aide pour une autre partie de programme ..

Je souhaite comparer les dates des documents dans les deux fichiers (Tableau_1 & Tableau_2)

J'ai essayé de reprendre la même structure de code mais ça ne fonctionne pas trop car un Text_Box1 intervient...

Je souhaite comparer la colonne "Actual Date" de Tableau_1

avec "Revision Date" de Tableau_2

mais en définissant avec le Text_Box1 une précision en jour tel que :

"Revision Date" de Tableau_2 = "Actual Date" de Tableau_1 + Text_Box1 ( Pouvant aller de 1 à 10jours)

L'objectif étant d'afficher en jaune les Docs. dont les dates ne correspondent pas dans Tableau_1 selon l'input du text_Box1

Merci de votre aide

Bonjour

Pourquoi tu envoies un fichier ayant le même nom qu'un fichier précédent ?

Je ne sais pas si tu ne renvoies pas le même

A tester mais je commence à m'y perdre

Bjr,

C'était une erreur, j'ai oublié de renommer le fichier,

Le programme devient un peu "brouillon" mais il correspond à mon cahier des charges,

Merci !

Bjr !!!!!

Une fois de plus je fais appel a ce magnifique forum et a ton savoir Banzai64 pour avoir de l'aide pour mon programme

La partie de code permettant de comparer les dates avec une précision ne correspond pas exactement à ce que je voudrais après avoir fais plusieurs tests.

Je souhaite comparer les dates à partir de 2 colonnes des 2 feuilles différentes.

Colonne D "Revision Date" Feuille 2 avec Colonne R"ACTUAL DATE" Feuille 1

Algo a réaliser : ACTUAL DATE + Précision = Revision Date 2

Avec Précision un textBox a partir duquel on récupère le choix de l'utilisateur compris entre 0 et 10jours

Exemples :

Si ACTUAL DATE = 10 janvier 2014

Si Revision Date = 15 janvier 2014

  • Si Précision = 2 <=> 10 + 2 = 12 par rapport a 15 => FAUX car la plage accepté est 10 à 12 pour 15 donc mettre la case en rouge
  • Si Précision = 10 <=> 10 +10 = 20 par rapport a 15 => VRAI car la plage accepté est 10 à 20 pour 15 donc mettre la case en vert

Je mets en annexe la derniere version du programme avec les 2 tableau sources,

Merci bcp

8doc-from-pdbc.xlsm (64.17 Ko)

Bonjour

Normalement le code le fait déjà

J'ai rajouté pour la coloration en vert

Mais je ne sais pas ce que je dois trouver

                    'Dates Erronnées
                    ' Cellule R (Actual Date) + NbreJours <> Page "Document" cellule D (Revision Date)
                    If Kase.Offset(0, 12) + NbreJours <> Sheets("Document").Range("D" & Ligne) Then
                        Kase.Offset(0, 12).Interior.ColorIndex = 3 ' Rouge
                        Kase.Offset(0, 12).Font.Color = vbBlack
                    Else
                       Kase.Offset(0, 12).Interior.ColorIndex = 10 ' Vert
                    End If

En relisant ce que tu as demandé

Changes cette ligne

If Kase.Offset(0, 12) + NbreJours < Sheets("Document").Range("D" & Ligne) Then

Question : Ce sont les mêmes fichiers sources que précédemment ?

Oui ce sont les même fichiers,

J'ai testé avec le code mais je ne suis pas certain que les résultats obtenues soient les bons car si je ne trompe pas, cette méthode de comparaison est static => A chaque fois on compare une date par rapport a une autre.

Or ce que je pense c'est qu'il faut comparer la date du (doc 2 Revision Date) a une plage de valeur correspondant a (doc 1 ACTUAL DATE jusqu'a doc1 ACTUAL DATE 1 + valeur texteBox)

Si valeur (doc 2 Revision Date) comprise dans (doc 1 ACTUAL DATE jusqu'a doc1 ACTUAL DATE 1 + valeur texteBox) => Vert

Sinon Rouge

Mais moi-même je me perd dans le programme...

Je ne sais pas si je suis assez clair..

Merci !!

Bonjour

Tu me noies (en plus il pleut)

Tu prépares un fichier dans lequel tu indiques ce que tu choisis comme option et manuellement tu colorises la colonne date soit en rouge ou en ver en disant pourquoi

Je vais essayé de comprendre (pas gagné)

Rechercher des sujets similaires à "declenchement listbox"