Selection de cellule non contigues

Résolu
nlz Messages postés 16 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 3 juin 2011 - 30 mars 2008 à 12:10
nlz Messages postés 16 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 3 juin 2011 - 30 mars 2008 à 14:09
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

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 22
30 mars 2008 à 13:08
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
3
Le grand Zorro Messages postés 50 Date d'inscription mercredi 4 août 2004 Statut Membre Dernière intervention 12 mai 2008
30 mars 2008 à 12:19
bonjour

"Liste" c'est une plage nommée ?
0
Le grand Zorro Messages postés 50 Date d'inscription mercredi 4 août 2004 Statut Membre Dernière intervention 12 mai 2008
30 mars 2008 à 12:20
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
0
nlz Messages postés 16 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 3 juin 2011
30 mars 2008 à 12:27
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 " ; "
0

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

Posez votre question
nlz Messages postés 16 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 3 juin 2011
30 mars 2008 à 14:09
C'est bon ca marche, merci beaucoup !!


Bonne journée.
0
Rejoignez-nous