IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[E - 03] Macro : Problème avec xlWhole ou xlPart


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2009
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 15
    Par défaut [E - 03] Macro : Problème avec xlWhole ou xlPart
    Bonjour a tous,

    j'ai un léger problème du au fait que je ne connais pas bien VBA
    J'ai une macro qui me trouve des différences entre deux plages sur deux onglets et met les différences en rouge.

    Pour les chiffres, cette macro fonctionne très bien !
    En revanche, j'aimerais la faire tourner sur une colonne de 500 lignes, ou chaque cellule contient un Nom et un prénom.
    Le problème est que dans l'onglet 1, les cellules sont sous la forme :

    Jean Baptiste Chevalier
    Pierre de Machin
    etc.


    et dans l'onglet 2 :

    Chevalier Jean Baptiste
    de Machin Pierre


    Ainsi, ma macro me détecte des erreurs partout, car elle cherche un contenu exact.

    Voici la macro en question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub colorier()
     
    For Each cel In Range("H1:H300")
    Set absent = Range("'2'!H1:'2'!H300").Find(cel, LookIn:=xlValues, LookAt:=xlWhole)
    If absent Is Nothing Then
    cel.Interior.ColorIndex = 3
    End If
    Next
     
    End Sub


    Voyez vous quelquechose a faire sur la partie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Find(cel, LookIn:=xlValues, LookAt:=xlWhole)
    afin que cela fonctionne ?

    D'avance merci !

    Cordialement

  2. #2
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    bonjour documentation le forum as tu essaye seulement comme cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Find(cel, LookIn:=xlValues)
    autrement cree une coloms temporaire extraire la parti de gauche ou de droite &comparer

    salutations

  3. #3
    Membre averti
    Inscrit en
    Février 2009
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 15
    Par défaut
    j'ai essayé avec ce code, ca ne fonctionne pas je sais pas pourquoi

    Je peux effectivement créer une colonne mais en fait je travaille sur un "outil de comparaison" pour quelqu'un de ma société qui veut juste effectuer des controles de temps à autre et qui veut juste avoir à lancer ttes les macros...
    Donc l'idéal serait que tout soit sous forme de macro.

  4. #4
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    rebonjour tu peus cree le code de la colonne par macro.??

    salutations

  5. #5
    Membre averti
    Inscrit en
    Février 2009
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 15
    Par défaut
    re bonjour laetitia

    je ne comprends pas très bien ta question

  6. #6
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    Laetitia a parlé de colonne temporaire, ce qui veut dire que tu la crée pour tes besoins et tu la détruit ensuite par macro sans doute...

    Mais comme tu l'énonces au départ le souci va bien au-delà d'une simple inversion nom-prénom :
    ean Baptiste Chevalier
    Pierre de Machin
    etc.


    et dans l'onglet 2 :

    Chevalier Jean Baptiste
    de Machin Pierre
    avec Machin...
    sans entrer dans une usine à gaz... ce qui serait une solution intermédiaire possible serait de convenir que dans l'onglet 1, les noms sont en dernière place et de ne faire des recherches que sur cette partie dans toutes les chaînes de la colonne de l'onglet 2. Pas fiable à 100%, mais très correct si la saisie est homogène en cet endroit.

    cordialement,

    Didier

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Macro] Problème avec variable sous Mainframe
    Par benjisan dans le forum Macro
    Réponses: 2
    Dernier message: 28/11/2008, 14h45
  2. Problème avec une macro faisant apel à un tableau Excell
    Par valouche dans le forum Macros et VBA Excel
    Réponses: 52
    Dernier message: 19/06/2007, 13h38
  3. [Macro]Problème d'importation .CSV avec macro
    Par Eric Harvey dans le forum VBA Access
    Réponses: 8
    Dernier message: 12/04/2007, 18h04
  4. problème avec const char * et #define macro
    Par CodeurNé dans le forum C
    Réponses: 5
    Dernier message: 20/09/2006, 22h25
  5. Réponses: 7
    Dernier message: 11/07/2006, 10h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo