VBA mix de 2 macros

re

c'est toujours bizarre, j'ai enlevé la mise à jour des fichiers seuls qui marchaient pas

ya bien qu'un onglet et pas de module mais ca marche toujours pas... cest vraiment bizarre

et sinon parmis toute les colonne y'en a une ou je voulais DROITE(cellule d'a coté;3)

mais qd je lance la macro ca supprime cette formule, du coup colone vide...

c'est possible de dire de rien écrire et de laisser la formule ?

ou decrire la formule dans la macro je sais pas...

.Cells(i + 5, 30) = "='" & fname & "'!BV"
                        ' 31 c'est l'indice de la cellule BV (partie droite)
          .Cells(i + 5, 32) = "='" & fname & "'!E1E1"

re,

C'est quoi le 30 dans ton code ???

Il n'y a pas de 30 dans le code que je t'ai donné.

sinon parmis toute les colonne y'en a une ou je voulais DROITE(cellule d'a coté;3)

Tu parles de quoi là ??? Excel comporte au minimu 256 colonnes, tu parles de laquelle ???

oui javais ecris que les premiere colonne : Cells(i + 5, 2), Cells(i + 5, 3), Cells(i + 5, 4),... Cells(i + 5, 35)

je remplis beaucoup plus de colonne

et la 30 c'est la cellule nommée "BV"

la 31 j'aimerais la partie droite de la 30

la 32 c'est une autre cellule nommée...

et si dans le code je passe de 30 à 32, ca supprime la formule DROITE que j'avai ecri dans toute la colonne 31...

tu vois mieux ou pas ?

-- 07 Juin 2010, 13:14 --

enfait l'idée c'est

soit

.Cells(i + 5, 30) = "='" & fname & "'!BV"

.Cells(i + 5, 31) = NE RIEN FAIRE (comme ca ma formule reste)

.Cells(i + 5, 32) = "='" & fname & "'!E1E1"

soit

.Cells(i + 5, 30) = "='" & fname & "'!BV"

.Cells(i + 5, 31) = DROITE(.Cells(i + 5, 30)) (comme ca la formule secrit, pas besoin de la mettre avant)

.Cells(i + 5, 32) = "='" & fname & "'!E1E1"

voila...

re,

ben tu mets ce que tu as trouvé là...

.Cells(i + 5, 31) = DROITE(.Cells(i + 5, 30))

ou tu enlèves de ton code cette ligne.

.Cells(i + 5, 31)

Comme cela tu passes de la colonne 30 à 32

salut

mais justement ca marche pas ca ...

.Cells(i + 5, 31) = DROITE(.Cells(i + 5, 30))

et quand jecris rien ca supprime qd meme toute les forume DROITE que javé ecrit avant de lancer la colonne..

c'est pour ca que je fait appel à toi

Bonjour

Essaye :

.Cells(i + 5, 31).Value = Right(.Cells(i + 5, 30),3)

Amicalement

Nad

c'est pas faux

mais jaurai pas pensé au ".Value"

ca'est bizarre, j'ai le message de débogeur qui bug sur la ligne en question

mais en faisant fin, mon tableau est remplit avec la colonne comme je voulais

et ya pa ecrite "DROITE=..." mais directement les 3 caracteres...

c'est possible d'eviter la fenetre du debogueur ? c flipant je trouve...

Re,

et ya pa ecrite "DROITE=..." mais directement les 3 caracteres...

Normal, puisque le code que Nad a placé ici ne te mettra pas une formule mais bien le résultat.

Concernant le bug, je ne vois pas le pourquoi.

Pourrais-tu uniquement coller le code (Pas besoin de fichier) à partir de la ligne "with activesheet"

dacc de toute maniere ca me va

enfait ca marche pas tout le temps (dans un dossier ca marche bien mais un dans un autre non ...)

voile le code :

With ActiveSheet
            .Hyperlinks.Add Anchor:=.Cells(i + 5, 1), _
            Address:=.Cells(i + 5, 1), _
            TextToDisplay:=.Cells(i + 5, 1).Value
           .Hyperlinks(i).ScreenTip = " VERS:" & .Cells(i + 5, 1).Value
            .Cells(i + 5, 2) = "='" & fname & "'!STP"
            .Cells(i + 5, 3) = "='" & fname & "'!CCP"
            [...]
            .Cells(i + 5, 29) = "='" & fname & "'!NMAX"
            .Cells(i + 5, 30) = "='" & fname & "'!BV"
            .Cells(i + 5, 31).Value = Right(.Cells(i + 5, 30), 3)
            .Cells(i + 5, 32) = "='" & fname & "'!E1E1"
        End With
    Range("D4").Select
Next
End With
End Sub

Re,

Le code est bon mais tu peux supprimer le VALUE. Le code ne te mettra pas la formule mais bien la valeur trouvée.

Pour le bug, je pense qu'il faut peut être voir sur quelle ligne tu es dans ta feuille lorsque le bug apparait et là voir la donnée que tu as en colonne 30. Peut être que cela vient du fait que tes données en colonne 30 sont au mauvais format.

A te relire

c'est pareil...

ca me met :

erreur d'execution '13':

incompatibilité de type

pis desfoi ca marche et desfois non mais ya toujours le message...

c'est pas plus simple de dire de rien ecrire et de laisser la forumle ecrite avant dlancer la macro ?

re,

Pour ton erreur, il faut savoir ce que contient la cellule en colonne 30 sur la ligne où se produit l'erreur. Est-ce une valeur, du texte, une formule ?

c'est pas plus simple de dire de rien ecrire et de laisser la forumle ecrite avant dlancer la macro ?

Je t'ai proposé deux solutions hier à 07 Juin 2010, 21:45 dont la deuxième est de supprimer l'intruction qui fait défaut dans ton code. De cette sorte tu garderas ta formule.

re

alors ma colonne 30 c'a affiche ca : "BV1*387" et je voulais a coté les 3 dernier chiffres

cest partout un format de cell standard, jai mis chiffre mais ca fait pareil...

et si je je passe de 30 à 32 dans la macro, ca me vide la colonne.. les formules s'en vont...

re,

Ce n'est pas quand tu passes de 30 à 32 mais au début de ta macro.

N'oublie pas que lorsque tu exécutes la macro, tu appelles aussi la macro SUPPR_TABLEAU qui supprime tout ce que tu as sur ta feuille. Vois l'instruction Call suppr_tableau placée en début du code.

Cela veut dire que toutes formules et données sont supprimées avant de commencer.

Ce n'est pas là ton souci ?

et si j'avais oublié ca ^^ ! merci de me le rappeler

bon dommage que ca marche pas écrit dans la macro mais bon pas grave

j'y arrive comme ca

merci

Rechercher des sujets similaires à "vba mix macros"