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 :

Aide pour selectionner les feuilles à partir de x jusqu'à y (y étant variable)


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Etudiant - Stage MOA
    Inscrit en
    Juin 2017
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Etudiant - Stage MOA
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2017
    Messages : 36
    Points : 28
    Points
    28
    Par défaut Aide pour selectionner les feuilles à partir de x jusqu'à y (y étant variable)
    Bonjour à tous !

    Etant donné que vous m'avez déjà pas mal debloqué lors de mes précédents problèmes je retente ma chance aujourd'hui :d
    Situation : J'ai un classeur avec plusieurs feuilles, je souhaite utiliser une macro sur les feuilles à partir de la 4ème uniquement jusque là après quelques recherches j'ai finis par trouver des pistes à l'aide d'array et autres éléments encore inconnu à mon expertise de crustacé sur excel.

    Y'aurait il quelqu'un pour m'éclairer sur la compréhension de cette macro, je ne parviens pas à l'adapter à mon problème

    - "Dim i As Integer, MonArray()" Quel est l'intérêt de definir mon array sans sa famille (Range, integer ou je ne sais pas)
    y'a il vraiment un effet à juste écrire ",MonArray()" ?
    - Une array est une liste, dans cette macro c'est juste un nombre en faites ? Supposons qu'on est 10 feuilles, on a donc
    MonArray(4) ? ça veut dire quoi du coup
    - Pourquoi reDim quelque chose alors qu'on ne lui à même pas donné de dim initial ?
    - Je ne comprends pas MonArray, cette expression indefinie retient donc chaque valeur pour chaque array type : array(4) =x , array(5) = x + 1 , etc ?

    Sub SelectionFeuille()
    Dim i As Integer, MonArray()
    ReDim MonArray(Worksheets.Count - 6)
    For i = 5 To Worksheets.Count - 1 'Parcours des feuilles
    MonArray(i - 5) = Sheets(i).Name
    Next i
    Sheets(MonArray).Select 'sélection de l'ensemble
    9.End Sub
    Voilà, je pense supprimer de honte ce poste après résolution si résolution il y a
    Merci à tous d'avance !

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 940
    Points : 28 938
    Points
    28 938
    Billets dans le blog
    53

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Etudiant - Stage MOA
    Inscrit en
    Juin 2017
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Etudiant - Stage MOA
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2017
    Messages : 36
    Points : 28
    Points
    28
    Par défaut
    Merci ! Je vais commencer à lire dès maintenant !
    J'ai une question peut être plus ciblée cette fois : Si je veux selectionner les feuilles de 1 à 5, comment s'y prendre ?
    J'ai essayé pas mal de choses mais je n'ai pas trouvé, à part en les citant une par une : "feuil1" , "feuil2"...
    J'ai de la lecture je repasserais par ici merci pour les liens ça m'a l'air complet c'est le moins que l'on puisse dire haha

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 940
    Points : 28 938
    Points
    28 938
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Si je veux selectionner les feuilles de 1 à 5, comment s'y prendre ?
    J'ai essayé pas mal de choses mais je n'ai pas trouvé, à part en les citant une par une : "feuil1" , "feuil2"...
    Une solution parmi d'autres https://www.developpez.net/forums/d1...a/#post8747568

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Etudiant - Stage MOA
    Inscrit en
    Juin 2017
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Etudiant - Stage MOA
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2017
    Messages : 36
    Points : 28
    Points
    28
    Par défaut
    Merci , j'ai finis par comprendre le mode opératoire du lien, j'etais déjà dessus mais je ne voyais pas bien le rapport au début.
    J'ai finis par lire le documents présentant les arrays de Didier Gonard ! J'ai un peu mieux appréhendé le principe mais je n'ai pas encore eu l'occasion de l'utiliser :

    Question plus basique faisant éventuellement appel aux arrays :
    J'ai plusieurs cases à copier d'un classeur à l'autre (type A5 G8 J11 P15), jusque là pas de problème mais j'aimerais savoir si il y avait une manière plus simple que de les coller une par une de la manière suivante :
    Sheets("Feuil1").Cells(x, 1).Copy
    Sheets("Fiche Succession").Range("C4").PasteSpecial Paste:=xlPasteValues
    Merci d'avance à vous, je ne dois pas savoir quoi rechercher mais je tombe principalement sur des plage de cellule ou alors la méthode que j'utilise. J'aimerais utiliser les fonctionnalités des array qui me permettraient d'attribuer des valeurs à un "tableau" que je peux réutiliser dans ma macro. En effet je souhaite par exemple positionner la case A4 sans ordre logique dans la fiche suivante et à part de nombreuses variables je n'ai aps trop d'idée et je suis également curieux d'enrichir mes compétences en VBA

    Mise à jour :
    tboArraySansRep = Array("Range(A2).value,Range(A3).value")
    MsgBox tboArraySansRep(1)
    j'ai essayé ça

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 940
    Points : 28 938
    Points
    28 938
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    La méthode Copy de l'objet Range a un argument Destination. C'est lui quil faut utiliser en lieu et place d'un Coller que l'enregistreur de macros propose.
    Soit par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub t()
     With ThisWorkbook
     .Worksheets("db").Range("A1:G101").Copy .Worksheets("Export").Range("A1")
     End With
    End Sub

Discussions similaires

  1. [XL-2010] formule pour afficher les corespondances à partir de 2 feuilles
    Par userjf2007 dans le forum Excel
    Réponses: 2
    Dernier message: 26/06/2012, 22h52
  2. [MySQL] besoin d'aide pour comprendre les injections sql
    Par cassy dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 28/01/2007, 14h21
  3. Réponses: 1
    Dernier message: 01/11/2006, 17h36
  4. Besoin d'aide pour recuperer les fichier d'un projet
    Par barthelv dans le forum Applications et environnements graphiques
    Réponses: 9
    Dernier message: 14/04/2006, 11h47

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