Problème 1004

Problème 1004 - VB/VBA/VBS - Programmation

Marsh Posté le 04-12-2009 à 09:27:21    

Bonjour je fais appel à vous et votre génie pour résoudre mon problème.
J'aimerai insérer la formule avec le code suivant :
 
Sub test()
 
Dim X As Integer
X = 1
Dim Y As Integer
Y = 1
Dim A As String
Dim B As Integer
Dim C As Integer
Dim D As Integer
Dim N As Integer
Dim Nb As Integer
Dim I As Integer
Range("A1" ).Activate
For Y = 1 To 8
If Y = 1 Then
A = ("U2MEQ" )
ElseIf Y = 2 Then
A = ("U2MF2" )
ElseIf Y = 3 Then
A = ("U2MF1" )
ElseIf Y = 4 Then
A = ("U2MS1" )
ElseIf Y = 5 Then
A = ("U2CCL" )
ElseIf Y = 6 Then
A = ("U2ECL" )
ElseIf Y = 7 Then
A = ("U2PCA" )
ElseIf Y = 8 Then
A = ("U2EM9" )
End If
For X = 1 To 24
ActiveCell = (A)
Nb = 41
I = 0
For I = 0 To 19
Nb = Nb - 1
ActiveCell.Offset(0, I + 1) = (Nb)
Next I
I = 0
ActiveCell.Offset(1, 0).Activate
ActiveCell = ("Chariot" )
For I = 0 To 19
ActiveCell.Offset(0, I + 1).FormulaLocal = "=si(esterreur(rechercheV(concatener(Activecell;si(x<=9;""0""&x;x);Nb));donné!$A:$C;3;Faux));1;(rechercheV(concatener(Activecell;si(x<=9;""0""&x;x);Nb));donné!$A:$C;3;Faux));1)"
Next I
 
 
Et la erreur 1004  
 
Merci de votre aide

Reply

Marsh Posté le 04-12-2009 à 09:27:21   

Reply

Marsh Posté le 06-12-2009 à 06:47:00    

rmmonaco a écrit :

Bonjour je fais appel à vous et votre génie pour résoudre mon problème.


 
Voilà, voilà, j'arrive.                 :lol:  :lol:  
 
Ti es fou, y dorment encore les génies!!
 

Citation :

J'aimerai insérer la formule avec le code suivant :  
 
ActiveCell.Offset(0, I + 1).FormulaLocal = "=si(esterreur(rechercheV(concatener(Activecell;si(x<=9;""0""&x;x);Nb));donné!$A:$C;3;Faux));1;(rechercheV(concatener(Activecell;si(x<=9;""0""&x;x);Nb));donné!$A:$C;3;Faux));1)"
Next I
 
Et la erreur 1004        (tu m'étonnes!!) :pt1cable:  


 Et moi, j'aimerais gagner le big gros lot du Loto :lol:  :lol:  :lol:  
 
 
 Pis je pense que j'ai encore plus de chance d'y arriver que toi!!!
 
Non mais c'est quoi cette formule???  
D'abord, on mélange jamais les codes anglais avec les français, ni les codes macros avec les formules!
 
tu dois tester ta formule sur ton tableau, éléments par éléments, puis quand elle sera au point, tu feras Nouvelle macro, et clic dedans, entrée. Ensuite, tu recherches cette macro, tu sélectionnes la formule, ctrl+C, retour à la macro principale, et ctrl+V dedans à la place idoine. Et non pas un charabia commack, avec des "activecell" qui débarquent de nulle part!
 
Et puis une page de macro avant, bonjour!
si elle est bonne, enregistre ton tableau, et au travail à ce niveau-là.  Et n'oublies pas de bien désigner ta zone "Donné" (Selection.Name = "Donné" )
 
Si tu n'y arrives pas, fais-un lien et pose une question claire...
 
Bon courage
 
                   et à bientôt.
 
 


---------------
Olympus OM-D  EM-5 + 14-42
Reply

Marsh Posté le 06-12-2009 à 11:56:26    

Il est curieux ce code : il y a un For Y = 1 To 8 et pas de Next Y (erreur 1004 ?)
 
Ensuite, au lieu de faire des ElseIf, tu devrais utiliser la fonction Select Case, c'est plus propre...
 
Puis, tu devrais utiliser la balise [ code ] ou [ fixe ] afin d'avoir les retraits, ce qui faciliterait grandement la compréhension le code.


---------------
OtObOxBlOg - - - Etre seul à avoir tort  c'est plus difficile, mais c'est bien plus beau que d'avoir raison avec une bande de cons
Reply

Marsh Posté le 10-12-2009 à 13:22:47    

Voila j'ai enfin réussi à intégré ma formule mais j'ai du passer par une étape :
 
Dim conc As String
        Dim ValeurCellule As Variant
        Dim XTemp, nbtemp As String
        nb = nb - 1
        If X <= 9 Then
            XTemp = "0" & X
        Else
            XTemp = X
        End If
         
        If nb <= 9 Then
            nbtemp = "0" & nb
        Else
            nbtemp = nb
        End If
        conc = """" & A & XTemp & nbtemp & """"
        ValeurCellule = "=IF(ISERROR(VLOOKUP(" & conc & ",Récap!$A:$G,7,FALSE)),1,VLOOKUP(" & conc & ",Récap!$A:$G,7,FALSE))"
        ActiveCell.Offset(0, I + 1).Formula = ValeurCellule
 
 
Merci de votre aide

Reply

Marsh Posté le 10-12-2009 à 13:54:19    

Bonjour
 
Je peux me tromper, mais il me semble que rien ne modifie la valeur de nb entre le début et le if de l'évaluant (ni après d'ailleurs), en conséquence, il serait étonnant qu'il ne soit pas inférieur à 9, il vaut  -1 jusqu'à la fin...
Quant à la valeur de conc, est-ce que ce n'est pas plutôt :  
="" "" &.........& "" ""qui conviendrait?
 
A+

Reply

Marsh Posté le 10-12-2009 à 15:43:50    

Laoo a écrit :

Bonjour
 
Je peux me tromper, mais il me semble que rien ne modifie la valeur de nb entre le début et le if de l'évaluant (ni après d'ailleurs), en conséquence, il serait étonnant qu'il ne soit pas inférieur à 9, il vaut -1 jusqu'à la fin...
Quant à la valeur de conc, est-ce que ce n'est pas plutôt :  
="" "" &.........& "" ""qui conviendrait?
 
A+


 
Merci de t'inquiéter mais le programme est très long et complexe ( non mais pour moi oui!!)
N varie dans une boucle qui n'est pas présente dans ce bout de prog et commence à 41
Quant à conc, j'ai passé beaucoup de temps avant de trouver la bonne syntaxe! sinon il y avais interférence avec Formula et la plage de la  rechercheV
 
Merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed