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

Résolu/Fermé
Signaler
Messages postés
103
Date d'inscription
lundi 2 juillet 2007
Statut
Membre
Dernière intervention
11 septembre 2019
-
Messages postés
103
Date d'inscription
lundi 2 juillet 2007
Statut
Membre
Dernière intervention
11 septembre 2019
-
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

5 réponses

Messages postés
127
Date d'inscription
vendredi 2 janvier 2009
Statut
Membre
Dernière intervention
5 novembre 2017
7
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
Messages postés
103
Date d'inscription
lundi 2 juillet 2007
Statut
Membre
Dernière intervention
11 septembre 2019
2
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.
Messages postés
127
Date d'inscription
vendredi 2 janvier 2009
Statut
Membre
Dernière intervention
5 novembre 2017
7
Essaye en enlevant les "%" de tes cases

Ca vient peut-être de ça ! :)
Messages postés
103
Date d'inscription
lundi 2 juillet 2007
Statut
Membre
Dernière intervention
11 septembre 2019
2
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.
Messages postés
103
Date d'inscription
lundi 2 juillet 2007
Statut
Membre
Dernière intervention
11 septembre 2019
2
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+.