× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum Bureautique
 Test si formule existe dans deux colonnes
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
eliot raymondo
  Posté le 10/09/2018 @ 16:48 
Aller en bas de la page 
Petit astucien
Bonjour a tous, Forum bonjour,
Je souhaiterai effectuer un test sur deux colonnes, je m'explique :
J'ai une colonne (E) et une colonne (F) ou il y a des formules a partir de E3 et F3 sur 200 lignes. Je souhaiterai svp tester si la colonne (E) contient bien des formules dans les cellules de la colonne (E) a partir de (E3)

tester également si la colonne (F) contient bien des formules dans les cellules de la colonne (F) a partir de (F3)
Donc le test serai d’après moi Exemple :
--- Si (E3) contient une formule alors afficher dans la colonne (I3) en vert ‘’Oui’’ sinon ‘’Non’’ en rouge
--- Si (E4) contient une formule alors afficher dans la colonne (I4) en vert ‘’Oui’’ sinon ‘’Non’’ en rouge

--- Etc Etc
Idem pour la colonne (F)

--- Si (F3) contient une formule alors afficher dans la colonne (J3) en vert ‘’Oui’’ sinon ‘’Non’’ en rouge
--- Si (F4) contient une formule alors afficher dans la colonne (J4) en vert ‘’Oui’’ sinon ‘’Non’’ en rouge

--- Etc Etc
Effectuer le test sur 200 lignes, je verrai plus tard pour prolonger.
J'ai essayer avec les divers codes si dessous mais pas réussi a le faire.
Je vous remercie pour votre aide et vous souhaite une bonne fin d’après midi.
Cdlt Ray

CODE et MACRO que j'ai essayer mais ça marche pas bien

Private Sub Worksheet_Change(ByVal target As Range)

Dim dlig&, lig&

dlig = Cells(Rows.Count, 5).End(xlUp).Row: Application.ScreenUpdating = 0

If Intersect(target, Range("E3:F" & dlig)) Is Nothing Then Exit Sub

For lig = 3 To dlig

With Cells(lig, 5)

.Offset(, 4) = IIf(.HasFormula, "O", "N")

.Offset(, 5) = IIf(.Offset(, 1).HasFormula, "O", "N")

End With

Next lig

'Essai formule en réel

Dim dlig&: Application.ScreenUpdating = 0

dlig = Cells(Rows.Count, 5).End(xlUp).Row

With Target

If .CountLarge > 1 Then Exit Sub

If Not Intersect(Target, Range("E3:F" & dlig)) Is Nothing _

Then .Offset(, 4) = IIf(.HasFormula, "O", "N")

End With

'Essai sous forme de macro

Public Sub Formule_Existe()

Dim Feuil1 As Worksheet: Dim cellule As Range

Set Feuil1 = ActiveSheet

For Each cellule In Intersect(Feuil1.UsedRange, Union(Feuil1.Columns("E"), Feuil1.Columns("F")))

If Not cellule.HasFormula Then

cellule.Offset(0, 4).Font.ColorIndex = 4

Else

cellule.Offset(0, 4).Font.ColorIndex = 3

End If

Next

End Sub

  • Marquer comme non résolu
  • Publicité
    ferrand
     Posté le 11/09/2018 à 03:03 
    Aller en bas de la page Revenir au message précédent Revenir en haut de la page
      Astucien

    Bonsoir,

    Tu as eu des réponses élaborées sur ce sujet, sur un autre Forum, par des intervenants qualifiés !

    Pourquoi vouloir faire refaire la même chose par d'autres !

    Debrief
     Posté le 11/09/2018 à 10:17 
    Aller en bas de la page Revenir au message précédent Revenir en haut de la page
    Astucien

    Bonjour,

    Si c'est juste pour mettre O ou N (ou Oui ou Non) ce n'est vraiment pas très compliqué à rajouter sur la base de la superbe macro fournie (*) (à la couleur près à inverser, ou le test):

    If Not cellule.HasFormula Then
        cellule.Offset(0, 4).Font.ColorIndex = 3
    cellule.Offset(0, 4).Value = "N"
    Else cellule.Offset(0, 4).Font.ColorIndex = 4
    cellule.Offset(0, 4).Value = "O" End If

    Ray, tu n'as pas trop donné de nouvelles sur l'autre sujet "Soucis d'effacement de formules" à propos de l'insertion de ligne. La réponse fournie te convient-elle ?

    D.

    Edit: (*) marquée du sceau du UsedRange et dont la signature, s'il en était besoin après la lecture du post précédent, ne fait donc aucun doute



    Modifié par Debrief le 11/09/2018 10:33
    eliot raymondo
     Posté le 11/09/2018 à 11:28 
    Aller en bas de la page Revenir au message précédent Revenir en haut de la page
    Petit astucien

    Salut Debrief,

    Merci pour ta réponse,

    j'ai fait pas d'essais pour arriver a ce que je voulais et pris exemple avec les conseils donner sur le site.

    Toutefois le résultat est au rendez vous, et donc merci bien a vous tous pour vos infos codes etc etc qui

    on permis que maintenant ça marche.

    Y compris sur l'autre sujet "Soucis d'effacement de formules"

    le code que j'utilise Range("A3:H200").SpecialCells(xlCellTypeConstants, 23).ClearContents 'Efface la plage sans effacer les formules

    Edit: (*) marquée du sceau du UsedRange et dont la signature, s'il en était besoin après la lecture du post précédent, ne fait donc aucun doute

    Désolé pas compris

    Merci Debrief pour ton aide et de votre savoir de vous tous.

    Bonne continuation a tous et merci.

    Bien cordialement Raymond

    Debrief
     Posté le 11/09/2018 à 12:39 
    Aller en bas de la page Revenir au message précédent Revenir en haut de la page
    Astucien

    Bonjour Ray,

    Y compris sur l'autre sujet "Soucis d'effacement de formules"

    le code que j'utilise Range("A3:H200").SpecialCells(xlCellTypeConstants, 23).ClearContents 'Efface la plage sans effacer les formules

    Ça je sais, tu l'as déjà dit dans le sujet.

    Mais souviens-toi, tu as soulevé un autre problème avec l'insertion de ligne... Enfin, bon ça n'a pas d'importance. Les vagues de l'océan effacent inlassablement les traces de nos pas sur la grève.

    Désolé pas compris

    Pas grave non plus, ça ne participe pas de la solution

    Cordialement,
    D.

    ferrand
     Posté le 12/09/2018 à 19:14 
    Aller en bas de la page Revenir au message précédent Revenir en haut de la page
      Astucien

    Salut Debrief !

    Pour préciser les choses, je ne fais pas partie des intervenants qualifiés que j'ai indiqué... mais je peux garantir qu'ils le sont...

    Bonne soirée.

    Page : [1] 
    Page 1 sur 1

    Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

    Vous n'avez pas de compte ? Créez-en un gratuitement !


    Les bons plans du moment PC Astuces

    Tous les Bons Plans
    16,90 €Microsoft Office 2019 Professional Plus à 18,90 €
    Valable jusqu'au 15 Avril

    Le vendeur sérieux Digital FR propose sur Amazon la clé d'activation légale pour Microsoft Office Professionnel 2019 Plus en français à 18,90 €. Cette clé livrée par email vous permettra d'activer Microsoft Office Professionnel 2019 Plus légalement et vous permettra ainsi d'utiliser autant de temps que vous voulez (il s'agit de la version complète et pas d'un abonnement) Word,Excel, PowerPoint, OneNote, Outlook, Publisher et Access 2019 sur un PC. La clé sera à activer sur Office.com où vous pourrez ensuite télécharger toute la suite bureautique. Pour mémoire, Microsoft Office Professionnel 2019 nécessite Windows 10. Sous Windows 7 ou 8, vous devrez vous tourner vers la version 2016. Pour plus d'info sur la procédure, n'hésitez pas à jeter un oeil à notre dossier pratique Acheter une clé OEM d'Office 2019 et l'installer.


    > Voir l'offre
    247,95 €NAS Netgear ReadyNAS 212 2 baies à 247,95 €
    Valable jusqu'au 30 Juin

    LDLC propose actuellement le NAS Netgear ReadyNAS 212 qui passe à 247,95 € alors qu'on le trouve ailleurs à 349 €. Ce NAS dispose de 2 baies où vous pourrez donc mettre jusqu'à 2 disques durs SATA. Ce NAS vous permettra de centraliser vos sauvegardes et vos données entre vos ordinateurs et vos périphériques mutimédia. Il est équipé d'un processeur ARM Cortex A15 avec quatre cœurs à 1,4 GHz et 2 Go de mémoire vive et offre des vitesses jusqu'à 200 Mo/s. Il permet le transcodage 1080p en temps réel et est compatible Plex. Il intègre 5 niveaux de protection pour vos données : RAID, snapshot pour la restauration de fichiers, antivirus en temps réel, protection contre la dégradation du matériel et sauvegardes gratuites dans le cloud.


    > Voir l'offre
    38,99 €Abonnement Xbox Game Pass Ultimate 6 mois à 38,99 €
    Valable jusqu'au 15 Avril

    Amazon fait une promotion sur l'abonnement Xbox Game Pass Ultimate 6 mois qui passe à 38,99 €, ce qui correspond à 3 mois gratuits. Le code jeu vous sera envoyé par email. Ce code vous permettra de jouer pendant 6 mois à plus de 100 jeux sur Xbox One et Windows 10. Vous pourrez ainsi jouer à Ori & the Will of the Wisps, The Outer Worlds, Gears 5, World War Z, Sea of thieves, Minecraft, ... Vous trouverez la liste complète des jeux ici.


    > Voir l'offre

    Sujets relatifs
    Inverser deux colonnes dans Excel ?
    sélectionner une ligne sur deux dans une formule
    Tri dans deux colonnes ( RESOLU )
    Deux colonnes dans Word
    comparaison de deux colonnes dans Feuil 1 & feuil2
    comparer deux colonnes de chiffres dans excel
    Déplacer deux colonnes dans excell
    Mettre dans 2 colonnes ( fichier csv )
    Comment modifier une formule dans un TCD excel ?
    Syntaxe horaire dans une formule Logique SI
    Plus de sujets relatifs à Test si formule existe dans deux colonnes
     > Tous les forums > Forum Bureautique