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

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 Accro
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



Dis moi si c'est bon
 

Deadpool_CC

XLDnaute Accro
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 Accro
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 Accro
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: 3

Deadpool_CC

XLDnaute Accro
Alors là aucune idée ... si un autre avec XL365 peut regardé
Et en attendant une solution si tu laissais dans la colonne M tes formules (en texte blanc pour que cela ne se vois pas et que ton bouton Mise à jour se contente de traiter ta colonne J
 

Discussions similaires

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