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

Afficher le résultat de la cellule inférieure !

  • Initiateur de la discussion Initiateur de la discussion sebmaljean
  • 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 !

sebmaljean

XLDnaute Nouveau
Bonjour à tous,

je n'arrive pas à faire ma formule (Excel 2010), après plusieurs heures passées dessus ! :

Il s'agit d'un classeur avec 2 feuilles.

Feuil 1 : une liste de critères sur 50 lignes qui est fixe; mais pas forcément sur les même lignes (j'actualise chaque mois cette liste).
En effet; selon le mois, en dessous d'une (ou plusieurs) lignes (critère), une ligne "commentaire" apparaît

Ex sur la feuil 1 (le 1er mois):
A2: Présentation générale
A3: Affichage obligatoire
A4: Commentaire blablabla
A5: Publicité globale

le 2e mois:
A2: Présentation générale
A3: Affichage obligatoire
A4: Publicité globale
A5: Commentaire blablabla

sur la feuil2, j'ai la liste de tous les critères qui est fixe de A2 à A52 (présentation générale/affichage obligatoire/Publicité globale...) et je souhaite qu'en B2 à B52; si commentaire il y a; il s'affiche à coté du critère

Ex : 1er mois:
A2: Présentation générale B2: (rien)
A3: Affichage obligatoire B3: Commentaire blablabla
A4: Publicité globale B4: (rien)

le 2e mois:
A2: Présentation générale B2: (rien)
A3: Affichage obligatoire B3: (rien)
A4: Publicité globale B5: Commentaire blablabla

voila... le but est que le commentaire [qui s'affiche dans la feuil1 sur la ligne sous le critère] s'affiche en face du critère de façon automatique chaque mois en feuil2...

Je vous remercie de l'aide que vous pourrez m'apporter.

Si je ne suis pas précis; dites le moi svp 🙂

S.
 
Re : Afficher le résultat de la cellule inférieure !

Bonjour sebmaljean, et bienvenue sur le forum

il y a peut-être une solution à ton problème en cliquant ci-dessous au point 3C
Lien supprimé

à+
Philippe
 
Re : Afficher le résultat de la cellule inférieure !

Bonsoir sebmaljean, salut Philippe 🙂

On peut supposer que les textes des cellules avec commentaire contiennent le mot "Commentaire", non ??

Alors entrer cette formule en B2 de Feuil2 :

Code:
=SI(ESTNUM(CHERCHE("Commentaire";INDEX(Feuil1!A:A;EQUIV(A2;Feuil1!A:A;0)+1)));INDEX(Feuil1!A:A;EQUIV(A2;Feuil1!A:A;0)+1);"")
et la tirer vers le bas.

Fichier joint - vous auriez pu le faire, non ??

A+
 

Pièces jointes

Re : Afficher le résultat de la cellule inférieure !

Bonsoir le fil, le forum,

Cette macro (Alt+F11) permet de renseigner entièrement Feuil2 (colonne A + Colonne B) :

Code:
Sub Transfert()
Dim tablo, i As Long, plage As Range
tablo = Range("A2:B" & [A65536].End(xlUp).Row + 1)
For i = 1 To UBound(tablo) - 1
  If InStr(tablo(i + 1, 1), "Commentaire") Then
    tablo(i, 2) = tablo(i + 1, 1)
    tablo(i + 1, 1) = ""
  Else
    tablo(i, 2) = ""
  End If
Next
With Feuil2.[A2:B2].Resize(UBound(tablo)) 'Feuil2 = CodeName
  .Parent.[A2:B65536].ClearContents 'RAZ
  .Value = tablo
  Set plage = .Columns(1).SpecialCells(xlCellTypeBlanks)
  Intersect(plage.EntireRow, .EntireColumn).Delete xlUp
  .Parent.Activate
End With
End Sub
Fichier joint.

A+
 

Pièces jointes

Dernière édition:
Re : Afficher le résultat de la cellule inférieure !

Bonjour le fil, le forum,

D'après le post #1 il y a peu de lignes à traiter.

Voici donc dans ce fichier (2) une solution entièrement par formules.

Il y a des formules matricielles mais elles sont dans les noms définis.

Donc en colonne A et B de Feuil2 pas besoin de validation matricielle.

A+
 

Pièces jointes

Dernière édition:
Re : Afficher le résultat de la cellule inférieure !

Re,

Pour être complet j'ai revu la solution VBA, de manière à conserver les cellules vides de la colonne A :

Code:
Sub Transfert()
Dim tablo, i As Long, plage As Range
tablo = Range("A2:B" & [A65536].End(xlUp).Row)
For i = 1 To UBound(tablo) - 1
  If InStr(tablo(i + 1, 1), "Commentaire") Then
    tablo(i, 2) = tablo(i + 1, 1)
    tablo(i + 1, 1) = "#N/A"
  Else
    tablo(i, 2) = ""
  End If
Next
tablo(i, 2) = "" 'dernière ligne
With Feuil2.[A2:B2].Resize(UBound(tablo)) 'Feuil2 = CodeName
  .Parent.[A2:B65536].ClearContents 'RAZ
  .Value = tablo
  On Error Resume Next 'si aucun commentaire
  Set plage = .Columns(1).SpecialCells(xlCellTypeConstants, 16)
  Intersect(plage.EntireRow, .EntireColumn).Delete xlUp
  .Parent.Activate
End With
End Sub
Fichier (2).

A+
 

Pièces jointes

Dernière édition:
Re : Afficher le résultat de la cellule inférieure !

Merci beaucoup, cette formule fonctionne très bien !

Job75, merci pour tout ceci;
pour info; le travail avec les noms définis ne fonctionne pas; car il se peut qu'il y ait plusieurs lignes de commentaires à la suite.

Ce que je ne savais pas faire; c'est le +1 dans la formule index/equiv pour "lire" la case inférieure.

Bonne journée; et bravo !
 
- 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

Discussions similaires

Réponses
4
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…