[EXCEL] Comment répartir des chiffres selon des pourcentages ?

Comment répartir des chiffres selon des pourcentages ? [EXCEL] - Logiciels - Windows & Software

Marsh Posté le 03-05-2006 à 11:30:36    

J'ai une colonne de chiffre et je dois les répartir sur d'autres colones selon des pourcentages... je précise que les chiffres doivent se trouver ds les memes cellules que les pourcentages :/
 
Genre j'ai : 500 en A1, 50% en A2 et 50% en A3.
Au final je dois avoir 250 en A2 et 250 en A3.
 
Tout ca automatiquement bien sur :D  
 
Si quelqu'un sait... c'est plutot urgent, je suis en stage et je prends du retard :sweat:  
 
Moultes merci par avance !!! :jap:


Message édité par Shinji_kun64 le 03-05-2006 à 12:03:28
Reply

Marsh Posté le 03-05-2006 à 11:30:36   

Reply

Marsh Posté le 03-05-2006 à 11:43:43    

Svp :o

Reply

Marsh Posté le 03-05-2006 à 13:47:31    

A2 => "=A1*50%" (oublie les guillements, c'est juste pour identifier le contenu de la cellule)
A3 => "=A1-A2" (ou sinon idem que A2  :ange: )
 
Pour cette preuve de mon génie, ca fera 100 euros merci  :D
 
*edit* j'avais pas vu que tu étais stagiaire, bon ce sera gratuit alors  :p


Message édité par cyberlau le 03-05-2006 à 13:52:05
Reply

Marsh Posté le 03-05-2006 à 14:17:15    

Merci pour ton aide mais en fait c'est un peu plus compliqué que ca :o  
 
J'ai 80 lignes et au moins 25 colonnes...
Toutes les colonnes n'ont pas de pourcentages et en plus ils sont tous différents !
 
 
exemple (simplifié):
 
A1 "25000" B1 "10%" C1 "rien" D1 "60%" E1 "30%"
 
A2 "120000" B2 "rien" C2 "80" D2 "10%" E2 "10%"
 
et comme ca sur 80 lignes et 25 colonnes !!!
 
La colonne A doit être répartie sur les autres cellules des lignes selon les pourcentages !
Et je dois trouver comment automatiser tout ca sinon j'en ai pour 50 ans :pt1cable:  
 
Il me faut une formule genre "si tu as un pourcentage ds une cellule, tu multiplies ce % par le chiffre de la colonne A et tu remplaces le % par ce chiffre... et tu passes à la colonnes suivante..."
 
Mais excel il comprends pas ca :o  
 
J'sais c'est hyper chiant mais vous me sauveriez la vie :o  :o  :o  :o


Message édité par Shinji_kun64 le 03-05-2006 à 14:17:33
Reply

Marsh Posté le 03-05-2006 à 14:47:07    

Dans ce cas ce topic aurait eu sa place dans la rubrique programmation VBA...
Le problème vient que les pourcentages dans Excel ne sont pas stocké en tant que tel, mais plutot sous format nombre (0.20 pour 20%), c'est juste la propriété d'affichage qui est changé automatiquement quand on saisit un %.
Bien qu'on puisse récupéré cette propriété, je ne pense pas que cela soit nécessaire (suffit de tester que la valeur soit <= 1), par contre si tu mets aussi des valeurs décimales < 1, alors le seul test possible sera effectivement le test du format affiché...
 
Dans la mesure ou tu as activé les macro dans l'option sécurité (Outils/macro)
Tu vas dans l'éditeur VBA (outils/macro/visual basic editor ...)
S'assurer que l'explorateur de projet est affiché, faire click droite, ajouter un module.
 
 
 
Dans le module, insérer la procédure suivante :
 
Public Sub Repartition()
    Dim Row As Range, Cell As Range
    With ActiveSheet
    For Each Row In .UsedRange
        For Each Cell In Row.Cells
            If Cell.Column > 1 And Len(Cell.Value) > 0 Then
                If Cell.Value <= 1 Or Cell.NumberFormat = "0%" Then
                    Cell.Formula = "=" & Row.EntireRow.Cells(1).Address & "*" & Cell.Text
                    Cell.NumberFormat = "General"
                End If
            End If
        Next Cell
    Next Row
    End With
End Sub
 
Après, tu fais Deboguage/Compiler VBA Project (dans le menu)
Tu retournes dans ta feuille excel, tu fais ALT+F8, tu sélectionnes la macro juste faites et tu choisis executer.
Ca devrait faire ce que tu recherches

Reply

Marsh Posté le 03-05-2006 à 17:10:21    

Ok j'ai finalement trouvé comment faire :sweat:  
 
En copiant dupliquant le tableau afin de pouvoir ce servir des pourcentages... un simple recopi et ca roule !
 
Merci quand meme à cyberlau pour sa dévotion :jap:  :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed