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 :

Selection plage de cellules avec condition en VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    salarié
    Inscrit en
    Octobre 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Octobre 2016
    Messages : 6
    Par défaut Selection plage de cellules avec condition en VBA
    Bonjour,
    je ne suis pas très calé en VBA et j'aurais besoin d'un petit coup de main ...
    Je voudrais grâce à un code VBA sélectionner sur plusieurs pages identiques une plage de cellule dans la colonne dont la première ligne est égale à la semaine en cours (renseignée par formule dans une cellule).
    mon objectif est de copier ces données et de recopier uniquement les valeurs au même endroit afin de supprimer les fonctions.
    J'espère avoir été assez clair et je vous remercie de votre aide.
    Patrick

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par Neilah Voir le message
    sur plusieurs pages identiques
    Quand tu dis "pages", je suppose que tu veux parler de feuilles ?
    Comment savoir quelles feuilles sont concernée ? Toutes ? Toutes sauf la premières ? Celles qui ont un nom particulier ?

    une plage de cellule dans la colonne dont la première ligne est égale à la semaine en cours
    Qu'est-ce qui délimite ta plage au niveau des lignes ? Toute le colonne ? Toute la colonne sauf la première ligne ? Un nombre de ligne donné (quel nombre ?) ?

    (renseignée par formule dans une cellule).
    Quelle formule ?
    Il y a plusieurs façon de calculer un numéro de semaine, toutes les méthodes ne donnant pas les mêmes résultats.
    Pour connaitre la semaine courant, il faut savoir comment tu calcules tes semaines.

    mon objectif est de copier ces données et de recopier uniquement les valeurs au même endroit afin de supprimer les fonctions.
    Je ne comprends pas.
    Tu veux copier les résultats des formules dans les cellules où se trouvent ces formules, c'est bien ça ?

    Petit remarque en passant : pour faire une copie en VBA, il n'est quasiment jamais nécessaire de sélectionner (c'est même déconseillé).

  3. #3
    Membre à l'essai
    Homme Profil pro
    salarié
    Inscrit en
    Octobre 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Octobre 2016
    Messages : 6
    Par défaut
    - Effectivement, il s'agit de Feuilles. Les feuilles concernées (8) sont nommées PAC, Sebestopol ...
    - La première ligne est figée, je voudrais sélectionner de la ligne 3 à la ligne 200
    - il n'y a pas beaucoup d'importance par rapport au calcul de semaine, il faut juste que ce soit la colonne dont la première ligne est égale à telle cellule.
    - je veux que pour la plage de cellule trouvée garder les valeurs en supprimant les formules (j'avais trouvé cette solution de copier et recoller uniquement les valeurs mais il y a peut-être une autre solution)

    Merci beaucoup de vous pencher sur ma question
    Cordialement

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Tu n'a pas répondu à la question : Comment savoir quelles feuilles sont concernée ? Toutes ? Toutes sauf la premières ? Celles qui ont un nom particulier ?

    Plus clairement, comment dire à VBA quelles sont les feuilles concernées parmi toutes les feuilles ?
    Est-ce que tu as quelque part une liste des noms de ces feuilles ?

    Citation Envoyé par Neilah Voir le message
    la colonne dont la première ligne est égale à telle cellule.
    Désolé mais "telle cellule", je ne sais pas coder.

  5. #5
    Membre à l'essai
    Homme Profil pro
    salarié
    Inscrit en
    Octobre 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Octobre 2016
    Messages : 6
    Par défaut
    Feuilles nommées Pac, Sebastopol, Guelmeur, Strasbourg, St Martin, K1, K2 et Fournil
    La cellule contenant la valeur à trouver est la E19 de la feuille Accueil
    Merci de votre patience
    Patrick

  6. #6
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Je n'ai pas testé. Il y aura donc peut-être du débugage à faire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub CopyHard()
       Dim WS As Worksheet, Trouve As Range
     
       For Each WS In Worksheets
          Select Case WS.Name
          Case "Pac", "Sebastopol", "Guelmeur", "Strasbourg", "St Martin", "K1", "K2", "Fournil"
             Set Trouve = WS.Range("A1:ZZ1").Find(Worksheets("Accueil").Range("E19").Value)
             If Not Trouve = Nothing Then
                WS.Range(Trouve.Offset(1, 0), Trouve.Offset(199, 0)).Copy
                Trouve.Offset(1, 0).PasteSpecial (xlPasteValues)
             End If
          End Select
    End Sub

Discussions similaires

  1. [XL-2013] Verrouiller une plage de cellules avec condition
    Par jfmeehan dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/12/2015, 00h57
  2. Réponses: 10
    Dernier message: 01/07/2013, 15h06
  3. [XL-2003] VBa selection cellules avec condition
    Par gwencab dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/01/2011, 16h49
  4. [VBA-E] Copier une plage de cellules avec critère
    Par jfamiens dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 13/06/2006, 16h34
  5. [VBA-E]Selection plage de cellules variable
    Par julien5 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/05/2006, 14h51

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