Comparer cellules de 2x colonnes (une avec date) et transférer la ligne

Bonjour

j'avais mal expliqué mon probléme, lors de mon 1ier message, je vais essayer d'être plus clair.

Mon probléeme est le suivant:

1.Comment faire pour comparer chaque cellule contigue de deux colonnes de 100 lignes, dont l'une contient des dates différentes

2. La colonne A contient différents textes : soit "oui" ou "Non" ou " en attente"

3. La colonne B contient aussi différents textes : soit une date aléatoire exemple "10.04.23" ou " OK"

4. les 2 conditions sont remplies, A= "oui" er B "une date" , alors copier chaque ligne dans un nouvel onglet "accord" et effacer les lignes copiées

5. Si les cellules dans A contiennent "oui" et sa cellule contigue dans B ne contient pas une date, alors message "il manque une date" et ne rien faire

6. Si les 2 conditions sont remplies, A= "oui" er B "une date" , alors copier chaque ligne dans un nouvel onglet "accord" et effacer les lignes copiées.

7. Si les 2 conditions sont remplies A= "oui" er B "une date", copier également les lignes de la colonne A ="Non", dans un onglet " Déaccord"

Désolé. j'espère avoir été un peu plus explicite

Merci d'avance pout toute aide

t.dort

Re

Inutile de démultiplier les fils surtout si tu ne réponds pas...

C'était clair mais on peut si besoin modifier ou compléter un post mais pas en faire un nouveau pour le même problème

Lis la charte attentivement...

Bonjour 78chris

je suis vraiment désolé!

j'ai vainement essayé de te répondre, mais je n'avais de bouton "réponse", d'ou le fait de reposter un nouveau message.

Comme c'était ma 1ière session, je ne pouvais pas lire le message...mais je , me suis rendu compte maintenant, que je n'étais pas connecté.

sorry, n'y voit,stp aucune mauvaise intention

t.dort

Bonjour

j'ai regardé " PowerQuery", je ne suis pas plus avancé, car, l'idée, serait vraiment d'apprendre peu à peu VBA.

est-ce que ma requête est encore d'actualité ?

RE

Il est bien facile d'apprendre PowerQuery que VBA (en perte de vitesse surtout pour traiter des tables...)

Avec 365 tu peux aussi obtenir le résultat par formule mais tu n'as toujours pas posté d'exemple : on aide volontiers mais on ne fabrique pas les fichiers de test...

Bonsoir

Désolé pour ce contretemps, je rentre du travail!

je te remercie pour tes remarques, le fait de faire un exemple, m'a permis de mieux exprimer ma demande. Je t'envoie un fichier avec 10 lignes et un texte beaucoup plus simple à comprendre, que mes messages.

Merci d'avance

t.dort

9vente.xlsm (16.02 Ko)

RE

Par PowerQuery on ne supprime pas les lignes sources, on actualise simplement les résultats, liés à la source, quand nécessaire (Données, Actualiser tout)

Par VBA ou fait ce que tu demandes

Dans les 2 cas on utilise des tableaux structurés

5vente-pq.xlsx (27.51 Ko)
6vente-vba.xlsm (28.26 Ko)

bonjour

une contribution

cordialement

6theodor.xlsm (16.95 Ko)

Bonjour

Merci pour ces 2x fichiers, malheureusement les 2 fichiers ne sont pas encore ok :

Fichier vente-vba

1. J’ai une erreur d’exécution « 1004 » :

2. l’exécution s’arrête à : .Parent.ShowAllData

3. Les données « oui » + date sont bien copiées dans l’onglet « Accord », mais toutes les autres données du tableau : « Oui » sans date, « Non » et « en attente » disparaissent de l’onglet « Données ».

Fichier vente-pq

Après avoir actualisé :

1. les données sont bien copiées dans les différents onglets, mais elles effacent les données précédentes. (au lieu de s’ajouter en dessous)

2. les lignes copiées dans le fichier « Données » ne sont pas effacées après actualisation

Merci

t.dort

Bonjour

Pour le 2 j'avais bien expliqué le fonctionnement : c'est donc conforme à mes explications.

Pour le 1 : il y avait effectivement un souci, un peu aléatoire donc difficile à comprendre. C'est résolu je pense

6vente-vba.xlsm (27.20 Ko)

Bonsoir

je viens d'essayer le fichier avec 50 lignes, les copies dans les onglets se font rapidemment (super).

J'ai eu une seule fois le message d'erreur avec arrêt de VBA : "Set Rng = .SpecialCells(xlCellTypeVisible)", mais sans plus.

Par contre lorsque le cellule A = "Oui" et que le cellule contigue B est vide " ", il n'y a pas de message d'erreur "il manque une date", puis arrêt de VBA.

stp, tu crois pouvoir m'implémenter ce dernier point?

Bonsoir

le message d'erreur ( "Set Rng = .SpecialCells(xlCellTypeVisible)", s'affiche, si sur plusieurs lignes A ="Oui" et que B est vide.

RE

En fait c'est quand tout est filtré car aucune correspondance

J'ai ajouté des tests

2vente2-vba.xlsm (26.07 Ko)

Bonjour

je ne peux pas ouvrir ce fichier (contrairement aux autres), car je recois un message de sécurité, concernant les macros. J'ai essayé sur 2 ordinateurs, rien n'y fait.

Bonjour

Quand on ouvre un xlsm, surtout venant du net, il y a toujours un message : pour ma part je dois l'enregistrer sous sans activer les macros, le fermer ouvrir ma copie

Tu as peut-être eu une mise à jour de sécurité car cela a changé sur mon PC depuis la dernière ou l'avant dernière MAJ

Ocazou je le reposte sur le post précédent...

Bonjour

je te propose de m'envoyer que les lignes vba et je les mettrai dans mon fichier!

cela pourrait être une solution intermédiaire ?

RE

Sub Ventilation()

    With Range("Donnees").ListObject.DataBodyRange
        .AutoFilter Field:=1, Criteria1:="oui"
        .AutoFilter Field:=2, Criteria1:="<>"
        X = WorksheetFunction.Subtotal(103, .Columns(1))
        If X > 0 Then
            Range("Donnees").Copy Range("Accord").ListObject.ListRows.Add.Range
            Set Rng = .SpecialCells(xlCellTypeVisible)
            .AutoFilter
            Rng.Delete
        Else
            .AutoFilter
        End If
        .AutoFilter Field:=1, Criteria1:="non"
        X = WorksheetFunction.Subtotal(103, .Columns(1))
        If X > 0 Then
            Range("Donnees").Copy Range("Désacord").ListObject.ListRows.Add.Range
            Set Rng = .SpecialCells(xlCellTypeVisible)
            .AutoFilter
            Rng.Delete
        Else
            .AutoFilter
        End If
    End With
End Sub

hey hey merci

c'est tout bon

(comme on dit en suisse)

grand merci

RE

Je vois que tu as aussi posté sur excel download : il n'est pas bien vu de crossposter sans le mentionner... C'est aussi indiqué dans la charte

Je vois aussi que le demande a évolué concernant un 4ème cas à traiter...

Bonjour

je tiendrai compte à l'avenir de ne pas poster sur 2 forume différents.

merci de votre aide

t.dort

Rechercher des sujets similaires à "comparer colonnes date transferer ligne"