Méthode Replace (Sous Mac)

guitou77

XLDnaute Occasionnel
Bonjour à tout le forum,

J'ai ouvert une réponse de pierrejean à xtorv dans le lien "Macros commandes pour gestion stocks", car celà peut m'être utile pour terminer la commande d'un fichier.

Lorsque je clique sur l'un des boutons de l'USF, un message "Erreur de compilation" "Sub ou Fonction non définie" s'affiche.

Je voudrais savoir si Mac prend en charge cette méthode (je n'ai rien trouvé à ce sujet dans l'aide) et le cas échéant, qu'elle peut être la méthode de remplacement de "Replace" dans Visaul Basic pour Mac.

Avec mes remerciements anticipés je vous souhaite un bon Week End
@+
 

JeanMarie

XLDnaute Barbatruc
Re : Méthode Replace (Sous Mac)

Bonsoir Guitou

J'ai essayé ce code, et je n'ai aucun problème
Code:
Sub toto()
Worksheets("Feuil1").Columns("A").Replace _
    What:="SIN", Replacement:="COS", _
    SearchOrder:=xlByColumns, MatchCase:=True
End Sub

Version d'Excel 11.3.3 (061213), version VBA 11.2 (050718)

Sans code, c'est difficile pour t'indiquer l'origine de ton problème.

@+Jean-Marie
 

guitou77

XLDnaute Occasionnel
Re : Méthode Replace (Sous Mac)

Bonjour JeanMari, bonjour le Forum,

Merci JeanMarie pour ta réponse, j'ai fait un test mais celà ne prend pas.
Je te joints la macro de pierrejean qui me pose problème.

Sub ajoutligne(nb As Integer)
For n = 1 To ActiveSheet.Range("E65536").End(xlUp).Row
If ActiveSheet.Range("E" & n) = "Total" Then
cpte = cpte + 1
ligne = n
End If
If cpte = nb Then
Rows(n).Insert Shift:=xlDown
Rows(n - 1).Copy
Rows(n).PasteSpecial Paste:=xlFormats
Application.CutCopyMode = False
For Each cel In Range("F" & n + 1 & ":I" & n + 2)
x = CStr(cel.Formula)
y = Replace(x, CStr(n - 1), CStr(n))
cel.Formula = y
Next cel
Exit Sub
End If
Next n
End Sub

Version Excel 2001 (10.1.6)
Avec mes remerciements.
@+.
 

pierrejean

XLDnaute Barbatruc
Re : Méthode Replace (Sous Mac)

bonjour guitou

Salut JeanMarie

Une proposition a tester:

une fonction de 'remplacement' (nettement moins elaborée que Replace mais qui devrait suffire dans le cas present)

veux-tu tester STP

Code:
Function remplace(ouremp As String, aremp As String, par As String)
remplace = ouremp
x = InStr(ouremp, aremp)
While x <> 0
remplace = Left(ouremp, x - 1) & par & Right(ouremp, Len(ouremp) - x - Len(aremp) + 1)
ouremp = remplace
x = InStr(ouremp, aremp)
Wend
End Function
 

JeanMarie

XLDnaute Barbatruc
Re : Méthode Replace (Sous Mac)

Bonjour

Pour ce qui est de la function Replace de Class String, oui elle n'existe pas.
Regarde du côté de
application.worksheetfunction.substitute(x, CStr(n - 1), CStr(n))
elle correspond à la fonction substitue de la feuille de calcul

@+Jean-Marie

PS : il y a d'autres functions de cette Class qui ne sont pas portées sur le mac
 
Dernière édition:

guitou77

XLDnaute Occasionnel
Re : Méthode Replace (Sous Mac)

Rebonjour Jean Marie, bonjour pierrejean et re le Forum,

Merci à tous les deux pour vos réponses.
pierrejean j'ai fais un test de ta fonction, mais elle ne correspond pas (peut être que je l'ai insérée au mauvais endroit).
Jean Marie, ta solution a l'air de fonctionner.
Je fais des tests plus approfondis des deux solutions et je vous tiens au courant.

Merci encore de vous être penchès sur ce problème et à bientôt.
Bon dimanche.
 

pierrejean

XLDnaute Barbatruc
Re : Méthode Replace (Sous Mac)

re
re bonjour JeanMarie

j'ai testé dans le dernier fichier de xtorv et cela m'a tout l'air de fonctionner (mais je ne suis pas sous MAC)

un detail cependant : il faut bien declarer les parametres en tant que String

voir le fichier joint

ps: la solution de JeanMarie est certainement excellente
 

Pièces jointes

  • Theme oral.zip
    31.1 KB · Affichages: 20
  • Theme oral.zip
    31.1 KB · Affichages: 20
  • Theme oral.zip
    31.1 KB · Affichages: 19

guitou77

XLDnaute Occasionnel
Re : Méthode Replace (Sous Mac)

Rebonjour à vous deux et au forum,

Je viens de faire des essais, les deux fonctionnent bien et je vous en remercie. Je vais tenter d'adapter ces conseils à ce que je termine.

Encore avec tous mes plus sincères remerciements et à bientôt.
Bonne fin de journée.

@+.
 

Statistiques des forums

Discussions
312 677
Messages
2 090 821
Membres
104 677
dernier inscrit
soufiane12