Selection de cellule non contigues

Résolu
Signaler
Messages postés
16
Date d'inscription
dimanche 16 mars 2008
Statut
Membre
Dernière intervention
3 juin 2011
-
Messages postés
16
Date d'inscription
dimanche 16 mars 2008
Statut
Membre
Dernière intervention
3 juin 2011
-
Bonjour tout le monde, je vais vous exposer mon problème.

Je veux créer une macro qui me selectionne le chiffre max qui se situe soit dans la colonne F, H ,J, L ext... soit une colonne sur 2 à partir de la colonne F. Ce chiffre max devra être copier sur une autre feuille dénommée "rslt".

Cette macro devra tourner en boucle sur toute les lignes car il y a 300 lignes.

Résumé: Macro
Elle devra donc aller sur la ligne 2 (car je commence en ligne 2), chercher le chiffre max (qui sera toujours inférieur à 1, mais ca je ne sais pas si c'est vraiment important) se trouvant dans l'une des colonnes F, H, J, L, ext et enfin le copier vers une autre feuille "rslt".

Les données se trouvent sur la feuille "fc".

J'ai donc commencer ma macro mais elle ne veut pas tourner, jai certainement du faire des érreurs dans le "range" mais apres je n'en n'ai aucune idée.





<hr />
Sub copynom()Dim ligne As Variant
Dim lemaximum As Double
i = 2
Sheets("fc").Select

Do
liste = Range(Cells(i, 6), Cells(i, 10), Cells(i, 12), Cells(i, 14))
lemaximum = WorksheetFunction.Max(Range("liste"))
Sheets("rslt").Cells(i, 2).Value = lemaximum
i = i + 1

Loop Until IsEmpty(fc.Cells(i, 1))
Next
End Sub

<hr />
Merci d'avance.

5 réponses

Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
Essaie ceci pour voir
lemaximum = WorksheetFunction.Max(liste)

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
Messages postés
50
Date d'inscription
mercredi 4 août 2004
Statut
Membre
Dernière intervention
12 mai 2008

bonjour

"Liste" c'est une plage nommée ?
Messages postés
50
Date d'inscription
mercredi 4 août 2004
Statut
Membre
Dernière intervention
12 mai 2008

Je ne vois pas l'intérêt de passer par liste,
Il suffit de mettre les plages de cellules séparée d'un point virgule?! non
Messages postés
16
Date d'inscription
dimanche 16 mars 2008
Statut
Membre
Dernière intervention
3 juin 2011

tu veux dire comme ca :

lemaximum = WorksheetFunction.Max(Range(Cells(i, 6); Cells(i, 10); Cells(i, 12); Cells(i, 14))

Il veux pas, ca n'a me met une erreur si je mets un " ; "
Messages postés
16
Date d'inscription
dimanche 16 mars 2008
Statut
Membre
Dernière intervention
3 juin 2011

C'est bon ca marche, merci beaucoup !!


Bonne journée.