Vieille et nouvelle fonction VBA entre 2007 et 2010 et plus

Bonjour a toutes et tous du Forum,

Je viens solliciter votre aide pour raffraichir quelques fonctions 2007 qui ne fonctionne plus

quand on change les logiciel.

Dans Mes Macros j'utilise Trim ; Format ; Mid et cela ne fonctionne plus sous les nouvelles Fonctions

j'ai des "error can't find project or library" malgrés avoir coché les Référencence VBA Project

J'ai visité différent sîte et là je suis tombé sur des nouvelles appelations

Trim est devenu Strings.Trim et ça Marche !!!!!

Pour Format et Mid je cherche encore est-ce quelqu'un aurait l'équivalent ?

Merci de votre aide.

Bien cordialement

Les codes sont utilisés comme tel

aa = Sheets("Liste").Range("A2:AI" & Sheets("Liste").Range("A" & Rows.Count).End(3).Row)

Label12 = "Fichier de " & Format(UBound(aa), "### ##0") & " Lignes ? traiter"

For i = 2 To fin

nb = Len(x) + Len(Cells(i, 1)) + 1

If nb < 255 Then

x = x & .Cells(i, 1) & ","

Else

.Cells(lig, 18) = Mid(x, 1, Len(x) - 1): x = "": lig = lig + 1

End If

Next i

.Cells(lig, 18) = Mid(x, 1, Len(x) - 1)

End With

End Sub

Bonjour,

Pas de modification pour FORMAT(), TRIM(), etc...

Ton souci est autre, mais ce n'est pas avec un extrait de procédure que l'on pourra t'aider !...

Joins un fichier.

Cdlt.

Bonjour,

Ce que tu dis paraît quelque peu étonnant...

Format(UBound(aa), "#,##0")

serait mieux venu...

Quant à Mid, on ne peut que supposer que x est vide...

Cordialement.

edit: Salut Jean-Eric !

Bonjour à tous,

va dans VBE 'Outils / Références...' décocher les MANQUANTS.

eric

bonjour,

Jai déjà coché malheureusement

seul différence chez moi V12 et au boutot V15.

Ma question est : et si je les déclarers type Dim xxx as yyyyy

et si oui quels sont les bons yyyyy respectivement pour Format et Mid

Merci

Que veux-tu dire ?

Format traite des données numériques et les renvoie sous forme texte.

Mid et Trim traitent des données texte.

Ce sont des fonctions !

Jai déjà coché malheureusement

Il faut cocher les manquants si tu en as, pas les cocher.

C'est dû au mode de déclaration d'objets externes en early binding. Si tu as plusieurs versions sur les pC il faut le faire en late binding.

eric

Merci

si j'ai bien compris cocher = exclu ?

non, coché c'est tu les prends.

Mais tu ne veux pas des MANQUANT. Puisqu'ils sont absents tu ne peux pas les trouver.

Le fait de les décocher forcera excel à rechercher la version présente sur ton poste, et fera disparaitre ton pb de fonctions absentes.

Mais si ton fichier est amené à bouger ça se reproduira, il faut changer l'initialisation des objets concernés comme je te l'ai expliqué au-dessus (recherche late binding dans google)

eric

Merci Eriic

Je commençais à dérailler, à force de chercher je me suis perdu en réalité.

Microsoft devrai faire de l'Auto détection pour ne pas obliger les gens a chercher dans toul les sens.

Merci à toi et les autres.

Là je suis un peu vènère car sur un autre projet je viens de m'apercevoir que j'ai créer un fichier d'analyse de dingue et que

avec la nouvelle mis à jour et bien l'outil de départ qui créer les extracts en oublie quelques un, et qu'il faut ce farcir à la main comme dans les années 80 c'est la misère Total.

Cordialement

Rechercher des sujets similaires à "vieille nouvelle fonction vba entre 2007 2010"