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 :

Couper d'une autre feuille, possible?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 49
    Par défaut Couper d'une autre feuille, possible?
    Bonjour à vous!

    Je suis incapable de couper mon data d'une feuille et de la coller à une autre, active et je me demandais si vous sauriez identifier la cause:

    Sur la feuille "config" j'ai du data contenu entre deux cellules, une dont la valeur est "installation" et l'autre "installationze". Afin de trouver la zone ou se trouve le data je me sert de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    with sheets("config").columns("A:A")
    set cstart = .find("installation").offset(1,0)
    set cend= .find("installationze").offset(-1,0)
    end with
    jusque là tout va bien mais lorsque je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    range(cells(cstart.row, cstart.column), cells(cend.row, "k")).copy
    activesheet.paste range("a40")
    ça marche pas.

    J'ai fais quelques tests, si je fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgbox cstart.offset(2,2)
    il me retourne la valeur de la cellule de la feuille config correspondant à l'offset demandé. MAIS si je fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    range(cells(cstart.row, cstart.column), cells(cend.row, "k")).select
    il sélectionne la bonne plage de cellule mais sur la page courante (activesheet), pas sur la sheets("config").


    DOnc mon problème:
    1- Je dois pouvoir sélectionner une zone dans une autre feuille que la feuille active à l'aide de variables puisque cette zone changera de place et sera elle même entouré d'autre zones.

    2-Je dois pouvoir couper cette zone et la coller sur la feuille active dans une cellule identifié par une variable, puisqu'encore une fois cette cellule ne sera pas toujours au même endroit.

    quelqu'un à une idée?

    merci!

  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
    Bonsoir,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim cStart As Range, cEnd As Range
     
    With Sheets("config")
        With .Columns("A:A")
            Set cStart = .Find("installation").Offset(1, 0)
            Set cEnd = .Find("installationze").Offset(-1, 0)
        End With
        If Not (cStart Is Nothing Or cEnd Is Nothing) Then
            .Range("A" & cStart.Row & "K" & cEnd.Row).Copy Range("A40")
        End If
    End With
    Set cStart = Nothing
    Set cEnd = Nothing

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 49
    Par défaut
    je crois que vous avez mis dans le mille (encore! ). Je ne peux tester en ce moment mais je reviens à ce problème sous peu et je posterai les résultats à ce moment.

    merci!

  4. #4
    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
    Rectifié,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim cStart As Range, cEnd As Range
     
    With Sheets("config")
        With .Columns("A:A")
            Set cStart = .Find("installation", LookIn:=xlValues, LookAt:=XlWhole)
            Set cEnd = .Find("installationze", LookIn:=xlValues, LookAt:=XlWhole)
        End With
        If Not (cStart Is Nothing Or cEnd Is Nothing) Then
            .Range("A" & cStart.Row+1 & "K" & cEnd.Row-1).Copy Range("A40")
        End If
    End With
    Set cStart = Nothing
    Set cEnd = Nothing

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

Discussions similaires

  1. Copier colonnes suivant leur nom dans une autre feuille
    Par paflolo dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/10/2006, 14h49
  2. Réponses: 1
    Dernier message: 17/10/2006, 17h37
  3. comment ouvrir une autre feuille a partir de la feuille principale?
    Par nh783 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 07/08/2006, 15h18
  4. [VBA-E]Copier une serie de cellules dans une autre feuille
    Par Tartenpion dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/03/2006, 17h23
  5. SetFOcus sur un contrôle d'une autre feuille d'un multipage
    Par MacGeol dans le forum VB 6 et antérieur
    Réponses: 29
    Dernier message: 07/09/2005, 09h37

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