beginnerales
Messages postés11Date d'inscriptionjeudi 22 juillet 2010StatutMembreDernière intervention 1 avril 2012
-
30 mars 2012 à 00:29
beginnerales
Messages postés11Date d'inscriptionjeudi 22 juillet 2010StatutMembreDernière intervention 1 avril 2012
-
30 mars 2012 à 15:41
Bonjour à tous,
J'aurai aimé savoir si il est possible de créer en Visual Basic une boucle pour générer une union de données type Range ? Apparemment il ne semble pas être possible avec 'Set' d'ajouter une variable
Dim X As Range
Dim X2 As Range
Set X = Worksheets("Feuil1").Range(Chr(6) & "4")
If N > 1 Then
For jj = 1 To N
Set X2 = Worksheets("Feuil1").Range(Chr(6 + jj) & "4") // ERREUR ICI
Set X = Union(X, X2)
Next jj
End If
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 30 mars 2012 à 11:56
Je te confirme (je viens de tester) que ce n'est pas la syntaxe de la ligne en cause qui est fautive.*
Reste alors uniquement ce que je t'ai déjà dit.
Objet introuvable ou inaccessible pour une raison quelconque, que tu es seul à pouvoir déterminer.
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Ton chr(6) est un caractère de contrôle ASCII. Tape caractères dans l'aide de VBA. Ensuite ouvre la rubrique Jeux de caractères 0 à 127. Tu vas voir que les les lettres majuscules commencent à 65.
Non, Non, Non ! La touche F1 ne donne pas la peste.
beginnerales
Messages postés11Date d'inscriptionjeudi 22 juillet 2010StatutMembreDernière intervention 1 avril 2012 30 mars 2012 à 09:44
Opus j'ai mal recopié mon code. J'avais bien mis 68 et j'obtiens une erreur lorsque je définis avec 'Set', un type Range avec une variable à l'intérieur. Des idées pour résoudre ce problème ?
Dim X As Range
Dim X2 As Range
Set X = Worksheets("Feuil1").Range(Chr(68) & "4")
N=20
If N > 1 Then
For jj = 1 To N
Set X2 = Worksheets("Feuil1").Range(Chr(68 + (jj+2)) & "4") // ERREUR ICI
Set X = Union(X, X2)
Next jj
End If
beginnerales
PS: La touche F1 ne m'apporte pas d'aide la-dessus
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 30 mars 2012 à 09:59
Bonjour,
Tu dis "erreur ici", mais sans prendre la peine de la préciser !
La ligne que tu incrimines ne comporte aucune erreur de syntaxe.
Quelle est donc l'erreur ?
Il y a tout lieu de penser (bien que tu n'en aies pas dit le moindre mot !) qu'il s'agit de l'erreur 9, hein ...
(ce qui voudrait dire que n'est pas trouvée la feuille nommée Feuil1 dans le classeur actif !)
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Vous n’avez pas trouvé la réponse que vous recherchez ?
beginnerales
Messages postés11Date d'inscriptionjeudi 22 juillet 2010StatutMembreDernière intervention 1 avril 2012 30 mars 2012 à 11:45
Bonjour,
Et non ce n'est pas l'erreur 9 .
Effectivement si je ne dis pas quel message d'erreur je reçois, c pas évident de me répondre. J'obtiens l'Erreur '1004': Erreur définie par l'application ou par l'objet.
beginnerales
Messages postés11Date d'inscriptionjeudi 22 juillet 2010StatutMembreDernière intervention 1 avril 2012 30 mars 2012 à 15:41
Oui effectivement, en fait mon code marchait dès le début. C juste que je n'avais pas fait attention que m'a boucle 'dépassait' et essayait de lire des cellules sans données. En fait, ce bout de programme est issu d'un ensemble bien plus complexe. En essayant d'expliquer mon problème sur ce forum et en simplifiant mon extrait de code pour expliquer mon problème et ben ... je l'ai résolu et mis un code qui marchait. Super