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 :

Error 424 Objet requis pour un simple copier/coller la cellule au-dessus ?


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Mai 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Mai 2015
    Messages : 8
    Par défaut Error 424 Objet requis pour un simple copier/coller la cellule au-dessus ?
    Bonjour à tous,

    Je n'arrive décidément pas à obtenir le résultat que je veux pour quelquechose qui est pourtant simple:

    Dans une plage avec des cellules pleines et des vides, j'aimerais simplement lorsque je rencontre une cellule vide copier le texte du dessus.

    Le code ci-dessous ne fonctionne pas et renvoie systématiquement à l'erreur d'exécution 424 Objet requis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    MyRange = Range("A1", Range("A1").EntireColumn.Find(What:="*", SearchDirection:=xlPrevious))
    For Each c In MyRange
    If c = "" Then
    c.Value = Cells(c.Row - 1, c.Column).Value
    End If
    Next
    ça bloque à c.Value = Cells(c.Row - 1, c.Column).Value
    J'ai essayé les dérivé....
    Cells(c.Row, c.Column) = Cells(c.Row - 1, c.Column).Value
    c = Cells(c.Row - 1, c.Column).Value
    ....
    Je ne trouve pas la bonne formulation et je ne comprend pas cette histoire d'objet..

    Merci pour votre grande aide par avance

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur Industrialisation
    Inscrit en
    Mai 2015
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Industrialisation
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 222
    Par défaut
    Bonjour,

    Je vais regarder ça, mais pourquoi n'utilises-tu pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C.value = C.Offset(-1,0).value

  3. #3
    Membre chevronné
    Homme Profil pro
    Ingénieur Industrialisation
    Inscrit en
    Mai 2015
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Industrialisation
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 222
    Par défaut
    Remarque...

    Pourquoi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyRange = Range("A1", Range("A1").EntireColumn.Find(What:="*", SearchDirection:=xlPrevious))
    Je trouve ça un peu compliqué, non ?

    En plus, tu n'as pas défini MyRange comme étant une Variable objet, tu aurais dû écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Set MyRange = Range(...)
    Je pense qu'il vaut mieux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    DernièreLigne = cells(rows.count,"A").end(xlup).row
    Set MyRange = Range("A1:A" & DernièreLigne)
    For each c in MyRange.Cells
    '...
    EDIT :
    Je n'ai pas essayé, mais ton problème d'objet venait très probablement du fait que MyRange étant une variable et non une variable objet... Tu y affectais une valeur et non un objet, le Set va régler ce problème-là, c'est sûr.

  4. #4
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Mai 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Mai 2015
    Messages : 8
    Par défaut
    1ère réponse et strike!
    ça marche avec cette synthaxe offset

  5. #5
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Mai 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Mai 2015
    Messages : 8
    Par défaut
    Oui le "Set" résout aussi le problème
    Merci!

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

Discussions similaires

  1. [XL-2007] Pour un simple copier coller, "Runtime error 13 type mismatch"
    Par coco.on.off dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/07/2014, 10h01
  2. erreur "424" Objet requis
    Par fifrelin_70 dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 29/10/2007, 19h48
  3. [VBA-E] erreur d'execution 424 - objet requis
    Par ludo02 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/02/2007, 10h29
  4. Erreur d'execution '424' : Objet requis
    Par deglingo37 dans le forum Access
    Réponses: 3
    Dernier message: 09/10/2006, 16h47
  5. Erreur 424 Objet requis sur connexion à Access
    Par darkian dans le forum ASP
    Réponses: 4
    Dernier message: 21/06/2006, 11h32

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