Imbriquer des conditions de plusieurs cols en une colonne
Bonjour,
J'ai un p'tit soucis. Je n'arrive pas à synthétiser ce que je veux en une seule colonne. Voyez le fichier attaché. Dans la colonne B, j'ai un ordre bien précis, dans les colonnes suivantes de E à BD, j'ai indiqué le même ordre que dans la colonne E sauf si je rencontre une des valeurs qui est indiquée en ligne 1 (à partir de E1 jusqu'à BD1).
L'ordre final que je souhaite correspond à la colonne BD en orange.
les valeurs en ligne 1 correspondent à la ligne 2 moins 1 (ou plutôt de A171 à A222 en bleu; ceci en ordre croissant)
Pourriez-vous essayer de m'aider.
Merci
A+
Salut,
J'ai essayé de réfléchir un peu à ton problème. Je trouve que tu as un peu compliqué ton tableau et te propose quelques petites simplifications dans le fichier ci-joint, sur la feuille 3 ; tes colonnes B et C ont été supprimées afin de pouvoir inscrire une seule formule en C3 que tu peux incrémenter vers le bas et vers la droite (avant tu devais avoir deux formules différentes dans tes anciennes colonnes E et F à BD). Ensuite j'ai effacé la ligne 1 et ai modifié le formule en conséquence.
A ce moment j'ai essayé de voir si l'on pouvait remplacer les colonnes actuelles C à BB - sur la feuille 3 - par une seule colonne. Si je ne peux pas te dire que c'est impossible, je pense en tout cas que ce serait une formule longue comme un jour sans pain et compliquée comme c'est pas permis. On pourrait aussi envisager une solution par macro avec uniquement la colonne du résultat final.
Mais la solution qui me semble la plus logique, du moment que tu as le résultat que tu désires, n'est-ce pas de masquer simplement ces colonnes intermédiaires ?
Sinon dis-moi s'il y a une raison valable de partir dans la direction d'une macro
Cordialement.
Salut Yvouille,
Merci pour ta réponse. Oui, masquer les colonnes j'y avais pensé, mais j'ai trop de données à traiter et en plus, les colonnes vont être variables car mes numéros ne sont pas toujours les mêmes d'un test à l'autre. Alors, oui je veux suprimer les différentes colonnes intermédiaires et si tu peux m'aider par une macro j'en serai super ravie. Mais par contre, j'aimerai que tu m'expliques bien les étapes, car je ne veux utiliser un programme sans en comprendre le sens. Ainsi ce sera plus facilement transferable à un autre jeux de données.
Merci de bien vouloir m'aider, c'Est super sympa. Désolée pour la réponse tardive.
Cordialement
Map101
Salut Map101,
Dans le fichier ci-joint j'ai placé une macro derrière le bouton "Go" qui réalise normalement ce que tu désires
Selon ce que j'ai compris, tu as une série de valeurs de la cellule A171 à la cellule A222 et une autre série de la cellule B3 à la cellule B170. Le code proposé ne fonctionne que pour ces cellules bien précises ; si ces deux séries ne sont pas fixes, il faudrait modifier la macro en conséquence. Par contre si tu remplaces ces deux séries par d'autres, le code devrait fonctionner également pour ces nouvelles données.
Tu voudrais que je t'explique comment ça marche, mais je n'ai aucune idée de ton niveau en VBA. Est-ce que le code présenté ci-dessous te suffit ?
Sub a()
Dim i As Integer, j As Integer, Valeur_finale As Integer
For i = 3 To 170 ' les données de la colonne B
Valeur_finale = Cells(i, 2)
For j = 171 To 222 ' les données de la colonne A
If Valeur_finale >= Cells(j, 1) Then Valeur_finale = Valeur_finale + 1
Next j
Cells(i, 3) = Valeur_finale
Next i
End SubCordialement.
Merci beaucoup Yvouille,
Tout semble bien fonctionner. Je vais tester avec d'autres données.
Pour la description de ton programme ça va...
MErci encore
Bonne journée