Microsoft 365 SI cellule vide dans la colonne A

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

Moreno076

XLDnaute Impliqué
Bonsoir le forum

Je souhaiterais adapter cette formule.
Si dans la colonne A case vide alors on applique cette formule et on ajoute en plus quantité de la colonne I sinon on laisse son contenu.
SI possible avec une petite variante, si 'RLR'!A:A = date du jour alors écrire "RECEPTIONNEE"

Range("A2").Formula = "=IFERROR(INDEX('RLR'!A:A,MATCH(B2,'RLR'!C:C,0)),"""")"
Range("A2:A" & Derlg).FillDown

Merci
 
Dernière édition:
Je soupçonne que vous vois soyez mal exprimé.
ISEMPTY(RC1) teste si la cellule A de la ligne courante est seulement complètement vide, comme vous l'aviez demandé.
RC1="""" testera si cette cellule est soit vide soit remplie d'un texte vide ou d'une formule valant un texte vide.
 
Je soupçonne que vous vois soyez mal exprimé.
ISEMPTY(RC1) teste si la cellule A de la ligne courante est seulement complètement vide, comme vous l'aviez demandé.
RC1="""" testera si cette cellule est soit vide soit remplie d'un texte vide ou d'une formule valant un texte vide.

1583282734634.png


Par exemple dans A2 il y a une formule mais pour moi case vide car pas de texte ni date.
Dans A2 Ce devrait être A VERIFIER car rupture hier si c etait la date d aujourd hui A COMMANDER seulement si A est vide et K egalement

si dans la colonne A, la case est vide alors :

Si colonne H = date du jour et colonne K vide alors "A COMMANDER"
Si colonne H= date du jour et colonne K rempli alors "SAISI CE JOUR"
Si colonne H < date du jour et colonne K vide alors "A VERIFIER"
Si colonne G = "non géré' et colonne K vide alors "A COMMANDER"


Si la colonne A est la date du jour alors marqué "Réceptionner ce jour".


Pas évident désolé
 
Le résultat me semble parfaitement normal.
Il n'y a aucune cellule vide dans la colonne A, donc aucun des 4 ColLignesOùCondR1C1 ne joue. Par contre la 1 ère cellule vaut "" alors elle y met la formule
pour moi case vide car pas de texte ni date
Oui mais comme vous vous interprétez ça on s'en fout, il ne faut pas confondre une cellule vide avec une cellule valant un texte vide, c'est tout ! Alors ne dites pas cellule vide si vous parlez d'une cellule qui paraît seulement vide.
Remplacez les ISEMPTY(RC1) par RC1="""" et repassez devant la dernière instruction, si sa valeur de texte vide peut provenir de la formule.
 
Essayez comme ça , je ne sais pas ce que vous voulez faire moi !
VB:
Sub Test()
   On Error Resume Next
   ColLignesOùRelat(CelDéb:=[A2], ColQuoi:="A", OPé:="=", Valeur:="").Formula _
      = "=IFERROR(INDEX('ReceptionReappro'!A:A,MATCH(B2,'ReceptionReappro'!C:C,0)),"""")"
   ColLignesOùCondR1C1(CelDéb:=[A2], CondR1C1:="AND(RC1="""",RC8=" & CDbl(Date) & ",RC11="""")").Value = "À COMMANDER"
   ColLignesOùCondR1C1(CelDéb:=[A2], CondR1C1:="AND(RC1="""",RC8=" & CDbl(Date) & ",RC11<>"""")").Value = "SAISI CE JOUR"
   ColLignesOùCondR1C1(CelDéb:=[A2], CondR1C1:="AND(RC1="""",RC8<" & CDbl(Date) & ",RC11="""")").Value = "À VÉRIFIER"
   ColLignesOùCondR1C1(CelDéb:=[A2], CondR1C1:="AND(RC1="""",RC7=""non géré"",RC11="""")").Value = "À COMMANDER"
   End Sub
 
Dernière édition:
Oui je suppose qu'on peut faire comme ça :
VB:
Sub Test()
   On Error Resume Next
   ColLignesOùCondR1C1(CelDéb:=[A2], CondR1C1:="AND(ISEMPTY(RC1),RC8=" & CDbl(Date) & ",ISEMPTY(RC11))").Value = "À COMMANDER"
   ColLignesOùCondR1C1(CelDéb:=[A2], CondR1C1:="AND(ISEMPTY(RC1),RC8=" & CDbl(Date) & ",NOT(ISEMPTY(RC11)))").Value = "SAISI CE JOUR"
   ColLignesOùCondR1C1(CelDéb:=[A2], CondR1C1:="AND(ISEMPTY(RC1),RC8<" & CDbl(Date) & ",ISEMPTY(RC11))").Value = "À VÉRIFIER"
   ColLignesOùCondR1C1(CelDéb:=[A2], CondR1C1:="AND(ISEMPTY(RC1),RC8<" & CDbl(Date) & ",ISEMPTY(RC11))").Value = "À VÉRIFIER"
   ColLignesOùCondR1C1(CelDéb:=[A2], CondR1C1:="AND(ISEMPTY(RC1),RC7=""non géré"",ISEMPTY(RC11))").Value = "À COMMANDER"
   ColLignesOùRelat(CelDéb:=[A2], ColQuoi:="A", OPé:="=", Valeur:="").Formula _
      = "=IFERROR(INDEX('ReceptionReappro'!A:A,MATCH(B2,'ReceptionReappro'!C:C,0)),"""")"
   End Sub
Vous remarquerez que j'ai mes à la fin celle qui met la formule parce que sans cela les autre n'auraient pas l'occasion d'opérer. En effet si la cellule est vide, elle est aussi égale à un texte vide, ce qui n'est pas la même chose.
Or dans vos doléances supplémentaires vous demandez à traiter les cellules vides, pas celles valant un texte vide.

Remarque: si c'était pour moi je repenserais tout ça différemment.
J'ai pris le temps de faire des exemples. dés lors que la colonne A est sans date ni texte il y a une formule. que j'ai affiché en A2 Ensuite pour les cases jaunes ce sont les 5 cas différents.

En espérant que je suis + clair cette fois .

Merci de votre patience.

1583285973078.png
 

Pièces jointes

Bonjour.
Déjà cette feuille s'appelle "Synthèse".
Avec un tel nom je penserait que c'est une sorte de récapitulatif combiné à partir des autres feuilles et que rien n'était à y saisir.
Les fonctions de service du classeur joint ici permettent d'établir ce genre de rapport.
C'est toute la philosophie du fonctionnement de votre classeur qui devrait être repensée plus simplement. Là j'ai l'impression que ce ne sont que des séries de macro de replâtrages ponctuels.
 
J'ai un peu parcouru la programmation, et j'en suis arrivé à la conclusion qu'il faudrait tout virer et reprendre à 0 !
Au fond, est-ce que les feuilles autres que la "Synthèse" vous servent à quelque chose ?
Elle semblent toutes venir de classeurs externes, alors ou pourrait les prendre de ces classeurs pour la constituer. Mais gardons les en attendant, il sera toujours temps de les supprimer ultérieurement.
Tout semble venir aussi de leurs fusions et regroupement sur le Code.
 
Bonjour !

Avec le temps oui les fichiers externes ont évolué et changement de logiciel du coup je me suis adapté comme j'ai pu.

Hier j'avais commencé à repartir à 0 mais la recopie des données se trouvait décalé.

C'est sur que de refaire le tableau m'apprendrais pas à pas les choses.

Voulez-vous m'accompagner dans ce projet?
Je donnerais toutes les infos utiles pas à pas?

Merci bien
 
Oui d'accord.
J'aurais besoin d'une feuille de documentation comportant une colonne pour chaque nom de feuille impliquées, la première étant Synthèse. Elle y reprendrait les titres de la feuille synthèse par une formule matricielle =TRANSPOSE('Synthèse'!$A$1:$N$1)
Ou plus simple: une formule normale : =DECALER('Synthèse'!$A$1;0;LIGNE()-3)
Dans les autres colonnes une formule mise à la main renvoyant vers le titre de la colonne contenant l'information pour chaque feuille où elle y figure (je sais déjà que la "Code" sera dans toutes.) Mettez bien une formule, pas le titre de la colonne, ce qui m'intéresse au bout du compte c'est le numéro de colonne, or on peut le déduire de la formule. Le N° de colonne me suffirait d'ailleurs, mais la formule apporte en plus une vérification visuelle du titre retenu correspondant.
 
Dernière édition:
Voilà c'est prêt.

J'ai mis dans un même classeur les 5 feuilles que j'utilise + la documentation.
Dans chaque feuille j'ai mis en rouge les colonnes utilisées dans synthèse.
En jaune le point commun (code).

Seule la feuille Synthèse doit obtenir les données des autres feuilles.
La liste des lignes dans synthèse doit être seulement celles présentes dans Ruptures et celles qui n'y sont pas sont dans ExtractionReappro.

Voilà pour la première étape.

Merci
 

Pièces jointes

J'en suis là pour le moment.
Attention ce n'est encore qu'une simple fusion des lignes se rapportant à chaque Code avec report de toutes valeurs trouvées <> ""
Elle se déclenche à l'activation de la feuille Synthèse pour le moment.

J'y observe un truc: ça se termine par des codes "e" et "f" qui n'existent que dans la feuille Reception. Il y a des désignations "E" et "F" à coté, mais elles ne sont pas reproduites parce que dans la Documentation vous n'avez pas indiqué que de cette feuille il fallait la récupérer …
 

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

Réponses
9
Affichages
584
Retour