Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Decaler ou formule matricielle ?

  • Initiateur de la discussion Initiateur de la discussion azaaaa
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

azaaaa

Guest
Bonjour,


Voici ma petite prise de tête du moment.

Pour faire simple, dans ma première colonne (A) j'ai une liste de référence ponctuée de 0.
Le but serait d'insérer dans la colonne voisine (B) ces références sans les 0 et en les remplacant par la dernière valeur non nulle de la première colonne sans vba.

Voila un exemple:

A B
1 100 100
2 0 100
3 0 100
4 120 120
5 0 120
6 0 120
7 0 120
8 415 415
9 0 415
10 0 415

La formule serait donc à insérer en B1:B10.


Merci de votre aide 🙂
 
Dernière modification par un modérateur:
Re : Decaler ou formule matricielle ?

Rebonjour à vous 2 🙂

Merci Hoerwind, c'est tout bête et je n'y avais pas pensé..

Je continue un peu dans mes casses têtes. Maintenant que cette table est rempli:




Le tableau étant difficilement lisible je joins un fichier en PJ

Avez vous une idée ?
 

Pièces jointes

  • suite et fin.xls
    suite et fin.xls
    18.5 KB · Affichages: 51
  • excel.JPG
    30.8 KB · Affichages: 204
  • suite et fin.xls
    suite et fin.xls
    18.5 KB · Affichages: 55
  • excel.JPG
    30.8 KB · Affichages: 223
  • suite et fin.xls
    suite et fin.xls
    18.5 KB · Affichages: 56
  • excel.JPG
    30.8 KB · Affichages: 223
Dernière modification par un modérateur:
Re : Decaler ou formule matricielle ?

Bonjour,

Essaie ceci en G4 :
Code:
=SI(RECHERCHEV("A";B$4:C$18;2;0)=F4;"A";SI(RECHERCHEV("B";B$4:C$18;2;0)=F4;"B";SI(RECHERCHEV("C";B$4:C$18;2;0)=F4;"C";"")))
à copier vers le bas

Il y aussi :
Code:
=CHOISIR(EQUIV(F4;{100;120;150};0);"A";"B";"C")

Il y a peut-être plus simple (ou plus compliqué) cela dépend de l'organisation de ton tableau définitif, les valeurs de la colonne F sont-elles toujours triées, le nombre de valeurs en colonne E n'est-il pas trop important, ... ?
On pourrait également songer à créer un petit tableau de correspondances, ...
 
Re : Decaler ou formule matricielle ?

Vos formules fonctionnent à merveille sauf pour un cas particulier:

Celui où une référence est associé à une donnée déjà utilisée. Voici l'exemple:



Pour info mon tableau est assez conséquent (plusieurs milliers de lignes et il existe une vingtaine de références type 100, 120 etc. mais moins pour les références type A, B, C. Néanmoins vos formules sont parfaites le temps de calcul n'est pas tres long.
 

Pièces jointes

  • suite et fin.xls
    suite et fin.xls
    19.5 KB · Affichages: 56
  • excel.JPG
    38.8 KB · Affichages: 235
  • suite et fin.xls
    suite et fin.xls
    19.5 KB · Affichages: 56
  • excel.JPG
    38.8 KB · Affichages: 230
  • suite et fin.xls
    suite et fin.xls
    19.5 KB · Affichages: 48
  • excel.JPG
    38.8 KB · Affichages: 205
Dernière modification par un modérateur:
Re : Decaler ou formule matricielle ?

Super. Merci à vous 2. Normalement pour le reste, rien de bien compliqué.
Juste pour ma culture excel et pour que je ne vienne pas vous embêter à chaque fois.

Qu'est ce qu'excel calcule avec ce type de formule : H3+(G4<>G3) => notamment le double signe <>
Et que signifie "?*" dans la fomule EQUIV et comment s'en sert-on ?

Merci encore 🙂
 
Re : Decaler ou formule matricielle ?

Re,

G4<>G3 teste si G4 est différent de G3 et renvoie VRAI ou FAUX.
Ce résultat additionne 1 ou 0, suivant le cas, à H3

Le caractère générique ? remplace n'importe quel caractère.
Consulte l'aide MS à ce sujet

Édition : salut tototiti
Très belle formule, j'apprécie !
 
Dernière édition:
Re : Decaler ou formule matricielle ?

Re,

Édition : salut tototiti
Très belle formule, j'apprécie !
Merci hoerwind, j'apprécie le compliment 😉, venant de toi particulièrement 🙂

Et que signifie "?*" dans la fomule EQUIV et comment s'en sert-on ?
Comme précisé par hoerwind, ? et * sont des caractères génériques
equiv("?*";Plage;0) renvoie la position de la première cellule de la plage contenant au moins un caractère, je retrouve donc ainsi le prochain texte rempli de la colonne E
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

D
Réponses
3
Affichages
1 K
Darkjoh
D
S
Réponses
2
Affichages
2 K
superpanda
S
A
Réponses
11
Affichages
2 K
A
A
Réponses
25
Affichages
5 K
Angelzeus
A
N
  • Question Question
Réponses
2
Affichages
1 K
M
Réponses
20
Affichages
3 K
massol
M
A
Réponses
0
Affichages
8 K
Arpopa
A
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…