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 !
"pla_cut" et "plan_cont" sont définis plus haut, et ont respectivement pour valeur 20 et 35. Je devrais donc avoir normalement "1.62" dans la cellule J2...
En théorie, cette formule marche (je l'ai testé sur plusieurs PCs)... alors pourquoi juste sur mon PC, la macro buggue dessus, et me met une "Erreur d'execution '1004': erreur definie par l'application ou par l'objet" ????
J'ai fait quelques tests en remplacant "FormulaR1R1" par "Value", mais j'ai le même problème. Toutes mes lignes contenant cette formule stoppent la macro, et m'envoient ce message d'erreur. Comme écrit plus haut, j'ai fait fonctionner la macro sur d'autres PCs, et ça passe nickel..
Je me suis apercu que ce problème venait peut-être du fait que les formules "(pla_cut / 100)" et "(pla_cont / 100)" donnaient des nombres entre 0 et 1... Bingo ! Si je remplace "pla_cut" et "pla_cont" par des nombres supérieurs ou égaux à 100, la ligne passe nickel... si l'une des deux variables passe en dessous de 100... bug !
J'ai un processeur Intel Core 2 avec 3 Go de RAM...
Un idée sur cette saute d'humeur d'Excel ?????
Merci d'avance de vos réponses 🙂
Re : Problème en VBA : le code n'en fait qu'à sa tête !
Etant donné que je cherche à faire une formule avec seulement des nombres, cette ligne me donne une opération avec en guise de variable le nom de mes variables, et non pas leur valeur. Ce code ne fonctionne pas.
Le soucis ne vient pas du code, mais d'autre chose sur mon PC... des fichiers cachés générés lors du fonctionnement de la macro ? des temporary files ???
Re : Problème en VBA : le code n'en fait qu'à sa tête !
Bonsoir à tous
Ce qui n'est pas clair là-dedans, c'est où sont définis pla_cut et pla_cont.
Si ces noms sont ceux de cellules nommées, la solution de gilbert_RGI fonctionne parfaitement.
Si ces noms sont ceux de variables définies dans la procédure,
Re : Problème en VBA : le code n'en fait qu'à sa tête !
Mes variables sont définies dans la procédure avec "Public" (la macro fait quelques chose comme 3000 lignes dans son ensemble...).
Le premier code de ROGER2327 fonctionne bien, je te remercie... mais je ne m'explique pas pourquoi le code marche sur certains PC et pas sur d'autres... Si le coeur vous en dit... 😉
Merci à tous de vous être penché sur mon problème 🙂
Re : Problème en VBA : le code n'en fait qu'à sa tête !
Désolé pour le double post, mais je me retrouve encore avec un gros soucis. Mon PC est maudit, c'est sur...
J'ai encore une fois un problème de macro, un bout de code qui fonctionne bien sur certains PCs, mais pas sur le mien... Oo
Voila le code en question:
Code:
'supprime les espaces dans toutes les colonnes
Dim i
Dim j
For i = 2 To 12
For j = 1 To fin_1
Cells(j, i).Value = RTrim(LTrim(Cells(j, i).Text))
Next j
Next i
Ce bout de macro me permet d'épurer les colonnes B à L sur un certain nombre de ligne en supprimant les espaces situés à droite et à gauche des caractères de la cellule. Le "fin_1" est une variable définie dans la procédure (et non vide).
En fait, ce bout de code épure tellement bien... qu'il va jusqu'à me supprimer les virgules si la valeur de la cellule a 3 décimales ou plus... Avec 1 ou 2 décimales, ça marche, avec 3, il me supprime la virgule... merci VBA de tout me multiplier par 1000 😀
Comme mon précédent problème... cela n'arrive que sur ma machine ! J'ai bien tenter de faire l'épurage en deux parties :
Code:
Dim i
Dim j
For i = 2 To 12
For j = 1 To fin_1
Cells(j, i).Value = LTrim(Cells(j, i).Text)
Cells(j, i).Value = RTrim(Cells(j, i).Text)
Next j
Next i
ou bien en remplacant "Text" par "Value", mais il n'est quand même pas d'accord, et me supprime ma virgule...
Re : Problème en VBA : le code n'en fait qu'à sa tête !
Salut Martimeus65,
Peut-être comme ça
Code:
Sub test2()
Pla_Cut = 35
Pla_Cont = 20
With Range("J2")
.FormulaR1C1 = "=(1+" & Pla_Cut & "/100)*(1+" & Pla_Cont & "/100)"
.NumberFormat = "0.00"
End With
End Sub
Re : Problème en VBA : le code n'en fait qu'à sa tête !
Merci bruno, mais mon problème est tout autre 🙁 (il est completement différent de mon précédent problème, mise à part le fait que mon code fonctionne sur certaines machines et pas sur d'autres 😉)
A l'origine, j'importe un fichier bloc donné par un logiciel de conception. Ce fichier bloc est importé par une macro dans un fichier excel. Le soucis est que ce fichier est assez moche quand il est importé, c'est à dire que pratiquement toutes les cellules sont emplies d'espace avant et après la chaine de caractères que je désire. par exemple, au lieu d'avoir "UPN200" dans une cellule, je vais trouver " UPN200 "
J'utilise donc le code
Code:
'supprime les espaces dans toutes les colonnes
Dim i
Dim j
For i = 2 To 12
For j = 1 To fin_1
Cells(j, i).Value = RTrim(LTrim(Cells(j, i).Text))
Next j
Next i
Pour supprimer tous les espaces en rabiot lors de l'importation...
Et quand j'utilise ce code, si dans ma cellule j'ai, entre les espaces parasites, un nombre comportant 3 chiffres après la virgule, ce code me supprime bel et bien mes espaces, mais me supprime également la virgule de mon nombre...
Ce soucis n'est rencontré que sur certaines machines... autant vous dire que je me creuse la tête pour trouver une solution, mais un code qui marche sur un PC et pas sur un autre... c'est pas dans mon domaine de connaissance 😀
- 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