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 :

[VBA-EXCEL] - Excel - Find - Erreur worksheet


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Avril 2013
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 2
    Par défaut [VBA-EXCEL] - Excel - Find - Erreur worksheet
    Bonjour !

    Alors pour commencer, je suis un pur neophyte de VBA, je commence seulement donc je m'excuse par avance si ma question est idiote ...

    Donc, pour expliquer le contexte, j'ai 3 worksheets.

    - 1 : un worksheet data de "saisie"

    - 2 : un worksheet qui est un "reclassement" de ces datas selon certains critères (script VBA déjà sans problème)

    - 3 : un worksheet de "présentation" des informations reclassées

    Je suis d'accord qu'il est tout à fait possible de faire tout ce que j'ai besoin sans passer par VBA mais comme je veux augmenter mon niveau ... je test !

    Pour le moment voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Sub CopieRank()
     
    For Z = 0 To 10
     
    Partner = Worksheets(4).Cells(4 + Z, 1)
    datacopie = Worksheets(3).Range(Cells(4, 1), Cells(14, 1)).Find(What:=Partner, lookat:=xlWhole).Row
    Worksheets(4).Cells(4 + Z, 2) = Worksheets(3).Cells(datacopie, 3)
     
    Next
    Worksheets(4).Range(Cells(4, 2), Cells(14, 2)).NumberFormat = "0,"
    End Sub
    En gros, ma boucle fait une sorte de rechercheV et me copie les informations dans la bonne cellule ...

    Le code marche... mais uniquement si je change le sheet selectionné quand je déclare la variable datacopie et ça, je ne comprends pas.

    Je veux évidement éviter les de faire des .Selection
    Mon code marche donc si j'intercale Worksheets(3).Select entre Partner et datacopie ...

    Bref, je sais pas si je fût vraiment claire mais avez vous par hasard une solution miracle à mon problème ?

    Merci d'avance !

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Mauvais réflexe de penser aux Select

    Regarde dans l'écriture des Range
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Sub CopieRank()
    Dim Partner As String
    Dim z As Integer
    Dim c As Range
     
    For z = 0 To 10
        Partner = Worksheets(4).Cells(4 + z, 1)
        Set c = Worksheets(3).Range(Worksheets(3).Cells(4, 1), Worksheets(3).Cells(14, 1)).Find(What:=Partner, lookat:=xlWhole)
        If Not c Is Nothing Then
            Worksheets(4).Cells(4 + z, 2) = Worksheets(3).Cells(c.Row, 3)
            Set c = Nothing
        End If
    Next z
    Worksheets(4).Range(Worksheets(4).Cells(4, 2), Worksheets(4).Cells(14, 2)).NumberFormat = "0,"
    End Sub
    PS: pour éviter l'erreur si un Partner n'existe pas, il faudra passer par une variable range intermédiaire (ici c)

  3. #3
    Nouveau candidat au Club
    Inscrit en
    Avril 2013
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 2
    Par défaut
    Ah merci ! Je ne savais pas qu'il fallait répéter le worksheet dans le range alors qu'il est défini déjà avant. Donc en gros faire Worksheets(3).Range ne sert à rien...

    Je vais pouvoir aller plus loin dans ce que je voulais faire à la base.

    Encore merci

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

Discussions similaires

  1. Erreur requête SQL en VBA dans Excel
    Par Sergeith dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/06/2009, 15h06
  2. [VBA-EXCEL] Gestion des erreurs et manipulation du contenu d'une cellule
    Par Froggy007 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/09/2008, 20h42
  3. Réponses: 1
    Dernier message: 10/09/2008, 16h41
  4. Erreur d'exécution 91 VBA Access-> Excel
    Par guestCam dans le forum VBA Access
    Réponses: 3
    Dernier message: 14/08/2008, 11h43
  5. [VBA-E]Excel: RechercheV avec erreur dans visual basic
    Par bonus23 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/03/2007, 14h08

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