Problème 1004 - VB/VBA/VBS - Programmation
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.
Ti es fou, y dorment encore les génies!!
Citation : J'aimerai insérer la formule avec le code suivant : |
Et moi, j'aimerais gagner le big gros lot du Loto
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.
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.
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
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+
Marsh Posté le 10-12-2009 à 15:43:50
Laoo a écrit : Bonjour |
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
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