Objet requis, mais pourquoi ?

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

C

carriere

Guest
BOnjour à tous


Voici un code qui sert à supprimer les parenthèses de toutes les cellules spécifiées dans la procédure Com.
J'ai une erreur "objet requis" mais je ne sais pas ou ni pourquoi qui se situe normalement dans la procédure Com()?

(la première fonction est correcte, c'est pas la peine de la tester).
Merci à vous 🙂






Function ExtractElement(Txt, n, Separator) As String
' Returns the nth element of a text string, where the
' elements
' are separated by a specified separator character

Dim Txt1 As String, temperament As String
Dim ElementCount As Integer, i As Integer
Dim TempElement As String

Txt1 = Txt
' If space separator, remove excess spaces
If Separator = Chr(32) Then Txt1 = Application.Trim(Txt1)

' Add a separator to the end of the string
If Right(Txt1, Len(Txt1)) <> Separator Then _
Txt1 = Txt1 & Separator

' Initialize
ElementCount = 0
TempElement = ""

' Extract each element
For i = 1 To Len(Txt1)
If Mid(Txt1, i, 1) = Separator Then
ElementCount = ElementCount + 1
If ElementCount = n Then
' Found it, so exit
ExtractElement = TempElement
Exit Function
Else
TempElement = ""
End If
Else
TempElement = TempElement & Mid(Txt1, i, 1)
End If
Next i
ExtractElement = ""
End Function



Sub Com()

Dim lg As Variant

For Var = 1 To 10000
For cpt = 1 To 500

lg = Len(Cells(Var, 11))
chaine = WorsheetFunction.ExtractElement(Cells(Var, 11).Value, cpt, "(")
ch = chaine & Right(Cells(Var, 11), lg - 1)
Cells(Var, 12).Value = ch

Next cpt
Next Var

End Sub
 
Merci Arnaud. Tu as bien vu la coquille.Mais en corrigeant j'ai un message du type : " propriété ou méthode non gérée par cette objet"

Donc je sèche malheuresement toujours...

Merci d'avance
 
re,

quand tu utilise une fonction qui provient des fonction utilisable sous excel mais ici en VBA, il faut que celle ci soit la version anglaise de la fonction si je ne me trompe.
pour savoir son nom, utilise l'enregistreur de macro et insère cette fontion dans une cellule, en vba cela sera retranscrit avec le nom anglais.
 
Bonjour
Sub Com()

Dim lg As Variant
Dim Var, cpt As Long
Dim chaine, ch As String

For Var = 1 To Cells(65536,11).end(xlUp).row
lg = Len(Cells(Var, 1))
For cpt = 1 To lg

lg = Len(Cells(Var, 1))
chaine = ExtractElement(Cells(Var, 11).Value, cpt, "(")
ch = chaine & Right(Cells(Var, 11), lg - 1)
Cells(Var, 12).Value = ch

Next cpt
Next Var

End Sub

@+Jean-Marie
 
Bonjour Arnaud, Jean-Marie, JC, le Forum

Et bien Arnaud, trop anisette à l'apéro ?

Lis le post de JC à 13:23, tu verras d'où elle vient cette fonction !! (remarque qu'à 13:23 l'apéro était déjà passé !!)

Et bravo à Jean-Marie dans sa reconversion


Bon Aprèm
@+Thierry
 
C'est re-moi

Juste un ch'ti détail le Lg n'est pas Variant, mais juste Byte (ou Integer si plus de 255 caractères)

Et aussi il me semble que la première initialisation de Lg est suffisante, je ne vois pas trop l'utilité de la re-initiliser dans la boucle à chaque passage, mais peut-être comme hier quelque chose m'échappe...

Bon Aprèm
@+Thierry
 
re,

a OK LOL 🙂.
et bien effectivement ma réponse voulais rien dire du tout ^^.
je survole un peu trop vite les question.....

ps: en tout cas j'ai eu du mal a le trouver le post de JC à 13:23..........ben ouai, en nom d'auteur il a mis 'carriere' donc moi comme un gros malin je chercher dans tout les post du forum un post qui pouvais avoir un rapport avec comme auteur JC ^^.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
715
Réponses
4
Affichages
584
Réponses
2
Affichages
333
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
377
Retour