Boucle sur les cellules de plusieurs colonnes Résolu

miremy

XLDnaute Nouveau
Bonjour à tous :)
Je viens vous demander de l'aide afin de créer une boucle pour afficher 100 à la valeur max des cellules de chaque colonne et de respecter la proportion avec les autres cellules.
J'arrive à le faire colonne par colonne mais n'arrive pas a faire une boucle car j'ai beaucoup de colonnes a traiter.
Donc si quelqu'un peut m'aider, il sera bienvenu
merci d'avance.
miremy
ci joint mon fichier
 

Pièces jointes

  • mettre en% du max.xls
    61 KB · Affichages: 69
Dernière édition:

vgendron

XLDnaute Barbatruc
Re : Boucle sur les cellules de plusieurs colonnes

Hello,

essaie avec ce code
Code:
Sub miseenpoucentage()

'selection des colonnes
[G2].CurrentRegion.Select

Set zone = [G2].CurrentRegion
PremièreColonne = zone.Column
nbcolonnes = zone.Columns.Count
nblignes = zone.Rows.Count
 
For i = PremièreColonne To nbcolonnes + PremièreColonne - 1
    [Q2] = Application.WorksheetFunction.Min(Range(Cells(2, i), Cells(nblignes, i)))
    For j = 2 To nblignes
        Cells(j, i) = Cells(j, i) - [Q2] - 1
    Next j
    [Q1] = Application.WorksheetFunction.Max(Range(Cells(2, i), Cells(nblignes, i)))
    
    For j = 2 To nblignes
        Cells(j, i) = (Cells(j, i) / -[Q1]) * 100
    Next j
Next i
Range("q1:q2").Clear
End Sub
 
Dernière édition:

miremy

XLDnaute Nouveau
Re : Boucle sur les cellules de plusieurs colonnes

bonsoir vgendron
Je viens d'essayer ton code ; il doit y avoir une modification à faire car il me donne des résultats négatifs.
Je vais vérifier pourquoi
Merci de m'avoir aiguillé sur la boucle à faire
Miremy
 

miremy

XLDnaute Nouveau
Re : Boucle sur les cellules de plusieurs colonnes

J'ai rectifié le code

Sub miseenpoucentage111()
'selection des colonnes
[G2].CurrentRegion.Select

Set zone = [G2].CurrentRegion
PremièreColonne = zone.Column
nbcolonnes = zone.Columns.Count
nblignes = zone.Rows.Count

For i = PremièreColonne To nbcolonnes + PremièreColonne - 1
[Q2] = Application.WorksheetFunction.Min(Range(Cells(2, i), Cells(nblignes, i)))
For j = 2 To nblignes
Cells(j, i) = Cells(j, i) - ([Q2] - 1)
Next j
[Q1] = Application.WorksheetFunction.Max(Range(Cells(2, i), Cells(nblignes, i)))

For j = 2 To nblignes
Cells(j, i) = (Cells(j, i) / [Q1]) * 100
Next j
Next i
Range("q1:q2").Clear
End Sub


Et cela fonctionne impec
Encore merci
 

vgendron

XLDnaute Barbatruc
Re : Boucle sur les cellules de plusieurs colonnes Résolu

oui pardon, un malheureux copier coller qui a laissé le signe "-" ;-)
ps: la première ligne
Code:
'selection des colonnes
[G2].CurrentRegion.Select
ne sert à rien et peut etre supprimée
 

Discussions similaires