Aide macro - copier / coller valeur max d'une ligne

Résolu/Fermé
kaiser4 Messages postés 109 Date d'inscription lundi 2 juillet 2007 Statut Membre Dernière intervention 11 mars 2024 - 23 oct. 2013 à 14:45
kaiser4 Messages postés 109 Date d'inscription lundi 2 juillet 2007 Statut Membre Dernière intervention 11 mars 2024 - 24 oct. 2013 à 10:21
Bonjour,

Je ne pense pas que le titre soit tout à fait explicite, donc je vais essayer d'être le plus clair possible.

Je souhaite rechercher, et copier la valeur maximum des colonnes de gauche, et les copier sur les colonnes de doite, seulement si les valeurs des colonnes de gauche sont supérieures aux colonnes de droite.

Je rentre tous les mois un pourcentage d'avancement sur certain sujet.

ligne 1 = sujet 1
ligne2 = sujet 2 etc.....

Colonne A = Janvier
Colonne B = Février etc....

Exemple:
A B C D E
1 20 % 20% 20% 20% 20%
2 20% 30% 40% 40% 60%
3 10% 20 % 20% 40% 40%
4 5% 10% 20% 30% 40%

exemple ligne 1:
Si je suis à 20% d'avancement en janvier, et que je n'avance pas sur le sujet le restant de l'année, alors mon pourcentage d'avancement est toujours de 20 %.

exemple ligne2:
Mais si j'avance sur le sujet en janvier, février et mars, alors on copie la valeur max des colonne de gauche (40%) et on copie sur les colonnes de droite.

J'essaie de créer un macro pouvant faire cela, mais je suis assez limité en VB.

J'éspère avoit été assez clair.

Cordialement.

Kaiser4
A voir également:

5 réponses

tyros25 Messages postés 127 Date d'inscription vendredi 2 janvier 2009 Statut Membre Dernière intervention 5 novembre 2017 7
23 oct. 2013 à 16:26
Crée une macro comme celà :


Dim i as integer
For i = 1 to 4
If Range("B" & i)>Range("C" & i)
Range("C" & i)=Range("B" & i).Value
End if
If Range("C" & i)>Range("D" & i)
Range("D" & i)=Range("C" & i).Value
End if
If Range("D" & i)>Range("E" & i)
Range("E" & i)=Range("D" & i).Value
End if
End for
0
kaiser4 Messages postés 109 Date d'inscription lundi 2 juillet 2007 Statut Membre Dernière intervention 11 mars 2024 2
24 oct. 2013 à 08:34
Bonjour,

Merci pour ton aide, mais cela ne fonctionne pas.

Apparemment il y a des erreurs de compilation.

J'ai bien vérifié mon copier coller, essayeé de modifier la macro pour éviter les erreurs, mais cela ne fonctionne pas.

Merci d'avance.
0
tyros25 Messages postés 127 Date d'inscription vendredi 2 janvier 2009 Statut Membre Dernière intervention 5 novembre 2017 7
24 oct. 2013 à 09:56
Essaye en enlevant les "%" de tes cases

Ca vient peut-être de ça ! :)
0
kaiser4 Messages postés 109 Date d'inscription lundi 2 juillet 2007 Statut Membre Dernière intervention 11 mars 2024 2
24 oct. 2013 à 10:09
J'ai essayé en enlevant les % des cases, mais toujours le même message d'erreur.

Erreur de syntage, erreur de compilation

Les valeurs à scruter se trouvent de I5 jusqu'a S15.

Merci de ton aide.
0

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

Posez votre question
kaiser4 Messages postés 109 Date d'inscription lundi 2 juillet 2007 Statut Membre Dernière intervention 11 mars 2024 2
Modifié par kaiser4 le 24/10/2013 à 10:21
J'ai rectifier suite au message d'erreur, en suivant l'aide excel.


Dim i As Integer
For i = 1 To 4
If Range("B" & i) > Range("C" & i) Then
Range("C" & i) = Range("B" & i).Value
End If

If Range("C" & i) > Range("D" & i) Then
Range("D" & i) = Range("C" & i).Value
End If

If Range("D" & i) > Range("E" & i) Then
Range("E" & i) = Range("D" & i).Value
End If
Next


Cela fonctionne, merci beaucoup.
Je vais me débrouiller maintenant pour que la macro scrute les bonnes cases.

Encore merci A+.
0