Eviter les cellules vides lors d'étirement d'une formule sur une colonne

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

argaz01

XLDnaute Junior
Bonjour tout le monde,

J'ai enfin réussi à terminer ma fonction SI! Cependant, j'aimerais pouvoir l'étirer sur toute une colonne tout en évitant les lignes vides. Mon tableau ets du genre : 1ère colonne 2ème colonne......................colonne Concernné
a 1 %
b 2 %
c total


h 3 %
e total

Et j'aimerais justement éviter les l*cellules vides dans ma colonne. J'ai la formule suivante mais elle ne marche pas: =si(A="";"";ma formule).

Merci d'avance pour vos suggestions


Cordialement
 
Re : Eviter les cellules vides lors d'étirement d'une formule sur une colonne

La formule se trouve dans R8, mais je n'y ai pas intégrer la formule =si(A1="";"";la formule) mais sur mon fichier ça ne marche pas et excel renvoi une erreur.

Cordialment
 
Re : Eviter les cellules vides lors d'étirement d'une formule sur une colonne

Bonjour argaz01, salut hoerwind 🙂 ,
Aux vues de l'exemple, il me semble que les colonnes sur lesquelles on puisse s'appuyer sont la D la H et la I. Donc je propose en R8 :
=Si($D8<>"";La_formule);"")
Cordialement
 
Re : Eviter les cellules vides lors d'étirement d'une formule sur une colonne

Cela fonctionne chez moi avec cette formule en R6 et a étirer vers le bas :

=SI(D6="";"";SI(OU(ET(D8="OPCVM";N8<0,025;P8>0,05);ET(N8>0,025;N8<0,05;P8>0,025);ET(N8>0,05;N8<0,1;P8>0,01);ET(N8>0,1;P8>0,005);ET(D8="OPCVM";E8="Fonds de fonds";F8="N";P8>0,05);ET(D8="OPCVM";E8="Mandat";N8<0,025;P8>0,2);ET(D8="OPCVM";E8="Mandat";0,025<N8<0,05;P8>0,1);ET(D8="OPCVM";E8="Mandat";0,05<N8<0,1;P8>0,04);ET(D8="OPCVM";E8="Mandat";N8>0,1;P8>0,01);ET(D8="TCN";E8="Obligations et autres TC Euro";G8<5;P8>0,05);ET(D8="TCN";E8="Obligations et autres TC Euro";G8>5;P8>0,01);ET(D8="TCN";E8="Obligations et autres TC Inter";P8>0,01);Q8="Mensuelle";O8>0,1;M8="A+";M8="A";M8="BBB+";M8="BBB";M8="BBB-";M8="A-";M8="BB+";M8="BB";M8="BB-";M8="B+";M8="B";M8="B-";M8="CCC+";M8="CCC";M8="CCC-";M8="CC");"non";"oui"))


A noter que je prends comme "référence" la colonne D pour voir si on doit ou non afficher quelque chose.
 
Re : Eviter les cellules vides lors d'étirement d'une formule sur une colonne

9a marche, sauf que ça étire les cellule du tableau vers les lignes vides: voir colonne R sur le fichier ci-joint. Comment remédier à cela?
En vous remerciant d'avance.

Cordialement
 

Pièces jointes

Re : Eviter les cellules vides lors d'étirement d'une formule sur une colonne

Pas sur d'avoir compris... Et si c'est le cas je ne vois pas l'interêt de ta demande. La formule renvoie : "" et toi si j'ai bien suivi tu ne veux aucune formule dans la colonne R si la cellule de la colonne D est vide ?
Tu te retrouve avec le même rendu visuelle à la fin... Une cellule vide. Donc je ne vois pas la finalité de ta demande.
 
Re : Eviter les cellules vides lors d'étirement d'une formule sur une colonne

Ce que je veux c'est que les cellules de la colonne R correspondants aux lignes vides, lignes où il'ya total et les lignes où il y'a les noms des organismes
restent vides et sans bordures. En fait, j'ai un tableau (comme vous le voyer sur la pièse jointe) séparé par des lignes vides et des lignes avec les totaux colonne A et sur certaines colonnes seukement, si comme s'il y avait plusieurs tableaux qui se suivent avec des lignes vides entre eux. Et je veux appliquer ma formule sur toute ma colonne R sans que ça s'applique sur les cellules vides de ma colonne R.

Je ne sais pas si c'est clair ou pas! mais merci d'essayer de comprendre.

Cordialement
 
Re : Eviter les cellules vides lors d'étirement d'une formule sur une colonne

C'es toujours flou pour moi.... Ce que j'ai compris c'est que certaine cellules de la colonne R ne doivent pas contenir de formule. Dans ce cas supprime les formules manuellement tout simplement.
Et si ton tableau est trop grand je pense qu'il faut passer par une macro qui supprime les données de la cellules en fonction d'une condition ( que je n'ai pas compris non plus)

Peux tu nous dire quelles cellules de la colonne R de ton fichier exemple doivent rester complétement vide ?

EDIT : en partant du principe que toutes les cellules de la colonne R vide ne doivent contenir aucunes formules et que ton fichier comporte 5000 lignes voilà un code à tester. A assigner à un bouton.
Code:
sub efface()
for i=4 to 5000
	if cells(i, 4)="" Then
	cells(i,18)=""
	end if
next i

End sub
 
Dernière édition:
Re : Eviter les cellules vides lors d'étirement d'une formule sur une colonne

Les cellules que j'aimerais voir vides dans ma colonnes R sont R10,R11,R12,R23,R24,R25.
Pour simplifier, j'aimerais que la cellule de la colonne R reste vide SI la cellule de la colonne Q correspondante est vide.

Merci d'avance

Cordialment
 
Re : Eviter les cellules vides lors d'étirement d'une formule sur une colonne

Pourquoi ne pas les supprimer manuellement ?
Si ton fichier est long je te conseil la macro.

Code:
sub efface()
for i=4 to 5000
	if cells(i, 17)="" Then
	cells(i,18)=""
	end if
next i

End sub

Je suis sous Open Office la donc je n'ai pas pu la tester mais sa devrait marcher.
 
Re : Eviter les cellules vides lors d'étirement d'une formule sur une colonne

Re
Une solution par macro :
Code:
Private Sub CommandButton1_Click()
Range("R6:R" & Range("A65536").End(xlUp).Row).ClearContents
Range("R6:R" & Range("A65536").End(xlUp).Row).FormulaLocal = "=SI(OU(ET(D8=""OPCVM"";N8<2,5%;P8>5%);ET(N8>2,5%;N8<5%;P8>2,5%);ET(N8>5%;N8<10%;P8>1%);ET(N8>10%;P8>0,5%);ET(D8=""OPCVM"";E8=""Fonds de fonds"";F8=""N"";P8>5%);ET(D8=""OPCVM"";E8=""Mandat"";N8<2,5%;P8>20%);ET(D8=""OPCVM"";E8=""Mandat"";2,5%<N8<5%;P8>10%);ET(D8=""OPCVM"";E8=""Mandat"";5%<N8<10%;P8>4%);ET(D8=""OPCVM"";E8=""Mandat"";N8>10%;P8>1%);ET(D8=""TCN"";E8=""Obligations et autres TC Euro"";G8<5;P8>5%);ET(D8=""TCN"";E8=""Obligations et autres TC Euro"";G8>5;P8>1%);ET(D8=""TCN"";E8=""Obligations et autres TC Inter"";P8>1%);Q8=""Mensuelle"";O8>10%;M8=""A+"";M8=""A"";M8=""BBB+"";M8=""BBB"";M8=""BBB-"";M8=""A-"";M8=""BB+"";M8=""BB"";M8=""BB-"";M8=""B+"";M8=""B"";M8=""B-"";M8=""CCC+"";M8=""CCC"";M8=""CCC-"";M8=""CC"");""non"";""oui"")"
For i = 6 To Range("A" & Application.Rows.Count).End(xlUp).Row
    If Cells(i, 17).Value = "" Then Cells(i, 18).ClearContents
Next i
End Sub
Ne pas oublier de doubler les doubles cotes " à l'intérieur de la formule
Cordialement
 

Pièces jointes

- 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

Retour