Créer une macro en fonction de multiples valeurs

Résolu/Fermé
ArthurDrt - 23 août 2021 à 13:16
yg_be
Messages postés
20292
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 septembre 2022
- 24 août 2021 à 20:57
Bonjour,

J'aurais besoin de renseignements sur la rédaction de ma macro.

J'ai des rapports qui sont extrait sous excel toujours sous le meme format :

Area - Site name - Type - Date - Time - ...

Et j'aurais besoin de créer une feuile par "Area".
Donc, par exemple, sur un tableau de 1000 lignes, j'ai 5 area distinctes.

J'aurai besoin qu'en cliquant sur un bouton, je lance une macro qui reconnait le nombre de differentes "Area" et copie toutes les données relatives à celles-ci dans une nouvelle feuille par Area.

Pouvez-vous m'aider ?


Configuration: Windows / Chrome 92.0.4515.159

6 réponses

yg_be
Messages postés
20292
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 septembre 2022
1 224
23 août 2021 à 13:58
bonjour,
veux-tu apprendre à programmer, ou nous demandes-tu de créer le programme pour toi?
0
J'ai recemment appris a programmer mais je rencontre des difficultés à faire comprendre a mon programme de trouver le nombre de "Area" et en fonction de ces "Area" créer une page avec seulement ces données.

Le faire une fois est simple mais anticiper le fait que je peux avoir 2 ou 20 Areas differentes est plus complexe pour moi.

Il serait préférabe quelqu'un m'explique en direct comment faire.

Mais si vous ne pouvez pas, je suis a la recherche d'une solution donc je veux bien que vous m'envoyer la solution et je comprendrais par moi-meme comment voous avez résolu mon probleme.


Merci d'avance,
0
yg_be
Messages postés
20292
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 septembre 2022
1 224
23 août 2021 à 14:40
as-tu déjà écrit une partie du programme?
tu donnes peu d'information et aucun exemple.
comme tu as peu de données, le plus simple n'est-il pas de recopier ligne par ligne vers l'onglet adéquat?
si les données ne sont pas triées par area, moi le les trierais par area, avant de les copier vers les feuilles de destination.
0
pijaku
Messages postés
12259
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
9 août 2022
2 703
23 août 2021 à 15:28
Bonjour tout le monde,

Peut-être comme ceci :
Sub AreasInSheet()
Dim A As Range
    On Error GoTo Fin
    For Each A In ActiveSheet.UsedRange.SpecialCells(xlCellTypeConstants, 2).Areas
        Debug.Print A.Address
    Next
    On Error GoTo 0
    Exit Sub
Fin:
    MsgBox "La méthode SpecialCells renvoie un résultat vide : erreur."
End Sub

0
Je vais ecrire une partie du programme avec les réponses que j'ai obtenu et je reviendrai sur le forum pour faire le point.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yg_be
Messages postés
20292
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 septembre 2022
1 224
24 août 2021 à 12:23
exemple d'une boucle:
dim area as range
set nomarea=[o2]
do while nomarea <>""
    '  faire le travail pour l'area ayant le nom nomarea
    set nomarea=nomarea.offset(1)
loop
0
Merci beaucoup, mon programme fonction grace à votre aide.

Passez une bonne journée !
0
yg_be
Messages postés
20292
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 septembre 2022
1 224
24 août 2021 à 20:57
parfait, peux-tu alors marquer la discussion comme résolue?
0