Microsoft 365 code vba qui renvoie la formule avec @ dedans

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,
Je vous souhaite une belle journée :)

J'ai un souci de code que je ne parviens pas à résoudre,
voici mon code :
VB:
Sub Mise_à_jour()
'ATTENTION Formule : si RdV déjà   : RdV Fait Facturé

    [o2] = "=COUNTIF(R[3]C:R[9996]C,""><"")"
    [M4] = "=IF(SUM(--(ISNUMBER(SEARCH(RC[-11],Facture!R2C[-8]:R30C[-8]))))>=1,RC[-11],"""")"
  
    'ME RENVOIE EN M4 : =SI(SOMME(--(ESTNUM(CHERCHE(B4;@Facture!E$2:E$30))))>=1;B4;"")
  
    [M4].Copy
    [m5:m13].Select
    Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
  
    [J4] = "=IF(RC[3]<>"""",""RdV Fait Facturé"",""RdV Fait"")"
    [J4].Copy
    [J5:J13].Select
    Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("J4:J13").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
  
    Columns("m:q").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    Range("A1").Select
End Sub
Le code " [M4] = "=IF(SUM(--(ISNUMBER(SEARCH(RC[-11],Facture!R2C[-8]:R30C[-8]))))>=1,RC[-11],"""")""
Me renvoie dans la cellule "M4" la formule avec @ et je ne parviens pas à m'en débarrasser.

Auriez-vous la solution ?
Je joins le fichier test et je continue à chercher.
Un grand merci à toutes et à tous,
lionel :)
 

Pièces jointes

  • recherche ds chaine.xlsm
    33.1 KB · Affichages: 8
Dernière édition:

Deadpool_CC

XLDnaute Impliqué
Salut,

pour ma part quand je pousse une formule dans une celulle, j'utilise le ".Formula" à la place du ".value" qui est la valeur par défaut si tu ne met rien.

Avec ce code cela semble passé (xl 2016) :
VB:
Sub Mise_à_jour()
'ATTENTION Formule : si RdV déjà   : RdV Fait Facturé

    [o2].Formula = "=COUNTIF(R[3]C:R[9996]C,""><"")"
    [M4].Formula = "=IF(SUM(--(ISNUMBER(SEARCH(RC[-11],Facture!R2C[-8]:R30C[-8]))))>=1,RC[-11],"""")"
   
    'ME RENVOIES EN M4 : =SI(SOMME(--(ESTNUM(CHERCHE(B4;@Facture!E$2:E$30))))>=1;B4;"")
   
    [M4].Copy
    [m5:m13].Select
    Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
   
    [J4] = "=IF(RC[3]<>"""",""RdV Fait Facturé"",""RdV Fait"")"
    [J4].Copy
    [J5:J13].Select
    Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("J4:J13").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
   
    Columns("m:q").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    Range("A1").Select
End Sub

1654079356673.png


Dis moi si c'est bon
 

Deadpool_CC

XLDnaute Impliqué
Dans la formule avec le ".formula" = il n'y a pas le '@' Donc question du post réglé ...lol

Par contre le soucis est tout autre : ta formule en M4 doit être validée en mode matriciel pour avoir un résultat et ensuite Tiré vers le bas.
JE ne sais pas le faire en vba donc :
* je te conseille d'enregistrer une macro en faisant les manipualtions à la main (validation avec ctrl+Maj+enter) et tirage à la main ... puis tu regarde le code dans la macro enregistré et tu adaptes ton propre code en fonction. :)
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re-Deadpool_CC :)

Merci pour ce retour :
"Dans la formule avec le ".formula" = il n'y a pas le '@' Donc question du post réglé ...lol"

Ben NON : si tu exécutes le code jusqu'à :
[M4].Formula = "=IF(SUM(--(ISNUMBER(SEARCH(RC[-11],Facture!R2C[-8]:R30C[-8]))))>=1,RC[-11],"""")"
tu pourras constater que le @ est bien dans la formule en cellule M4.

Je vais voir du côté matriciel
lionel :)
 

Deadpool_CC

XLDnaute Impliqué
Ben NON : si tu exécutes le code jusqu'à :
[M4].Formula = "=IF(SUM(--(ISNUMBER(SEARCH(RC[-11],Facture!R2C[-8]:R30C[-8]))))>=1,RC[-11],"""")"
tu pourras constater que le @ est bien dans la formule en cellule M4.
Pourtant en pas à pas ... j'ai pris la capture du post #2 (M4 sélectionné et dans la barre de formule tu constate qu'il n'y a pas de @.
un problème de paramétrage de ton Excel ? différence de version ? (suis en 2016) ... là je seche
 

Deadpool_CC

XLDnaute Impliqué
Ben oui ... quand tu lance le code ... t'es bien sur la feuille "Base" donc l'espion du M4 contient bien les données du M4 de la feuille Base
Je fais tourner en pas à pas et j'arrête avant l'effacement ... et tu peux voir dans le fichier joins que chez moi c'est bon.
tu ouvre ton fichier via excel Online (via navigateur) ou dans un excel insallé sur ton PC ?
 

Pièces jointes

  • recherche ds chaine.xlsm
    33.5 KB · Affichages: 2

Discussions similaires

Réponses
4
Affichages
242
Réponses
2
Affichages
537
Réponses
2
Affichages
877

Statistiques des forums

Discussions
299 792
Messages
1 979 141
Membres
206 584
dernier inscrit
LLJoad