Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Problème avec une instruction VBA [ Divers / Débutants ] (Jpeg69)

mardi 22 mai 2007 à 11:04:05 | Problème avec une instruction VBA

Jpeg69

Bonjour,
Selon l'aide d'Excel, pour utiliser une plage de cellule avec l'instruction Cells, il faut utiliser l'instruction Range.

Exemple :

Range( Cells(1,1), Cells(2,2) )

Cependant, ma macro n'accepte pas : Range( Cells(1,1), Cells(2,2) ).Select ou Range( Cells(1,1), Cells(2,2) ).ClearContents

Je me demande alors où est le problème.

Merci d'avance.

mardi 22 mai 2007 à 11:15:04 | Re : Problème avec une instruction VBA

jmfmarques

Membre Club
Bonjour,

Réflexe élémentaire :
sers-toi de ton enregistreur de macro ==>> fais une sélection quelconque ===>> ferme ===> édikte la macro ===>> tu sauras ainsi comment écrit la chose Monsieur VBA !

mardi 22 mai 2007 à 11:23:14 | Re : Problème avec une instruction VBA

Molenn

Et répondre en même temps à la question : ton code est situé dans la même feuille que les cellules ou le range que tu tentes d'appeler ? Sinon, pour bien faire les choses, précise la feuille avec, quelque chose du style :

Worksheets("Feuille1").Range( Worksheets("Feuille1").Cells(1,1), Worksheets("Feuille1").Cells(2,2) ).ClearContents

Et sinon, comme d'hab. Message d'erreur ? A quel endroit de ton code ? etc etc ...


jmfmarques : Je ne suis pas sûr que l'éditeur de Macro fonctionne dans ce cas, parce que, comme on sélectionne la plage directement, il va donner la plage sous une forme simple genre Range("A1:B10"); la syntaxe avec des Cells imbriqués n'est utilisée qu'en pur VBA il me semble.

Molenn

mardi 22 mai 2007 à 11:23:44 | Re : Problème avec une instruction VBA

Jpeg69

Le problème c'est que j'utilise des variable pour connaître le numéro de ligne et de colonne.
L'instruction Range ne prend pas des variable, mais l'instruction Cells oui.

Range( Cells(x,y) ).Clear fonctionne à merveille.

mardi 22 mai 2007 à 11:28:59 | Re : Problème avec une instruction VBA

jmfmarques

Membre Club
"jmfmarques : Je ne suis pas sûr que l'éditeur de Macro fonctionne dans ce cas, parce que, comme on sélectionne la plage directement, il va donner la plage sous une forme simple genre Range("A1:B10"); la syntaxe avec des Cells imbriqués n'est utilisée qu'en pur VBA il me semble."

Et à moi il me semble que tu devais être absent, le jour d'une certaine distibution !!!
1) la macro de Monsieur VBA est écrite en VBA !
2) tu ne vois vraiment pas comment substituer le contenu de variables à "A1:B10" ???

mardi 22 mai 2007 à 11:36:15 | Re : Problème avec une instruction VBA

Jpeg69

Bonne idée (bien que lourde) Molenn ! Mais ça ne marche toujours pas.

Erreur d'exécution '9' : L'indice n'appartient pas à la sélection.

Mes variables dépendent d'un indice calculé avant en fonction de l'action choisie.

mardi 22 mai 2007 à 11:43:25 | Re : Problème avec une instruction VBA

jrivet

Membre Club
Salut,
Quand allez vous comprendre que pour obtenir une aide précise, il faut que l'on ai le plus de billes possible....

C'est déjà bien d'avoir donné l'erreur mais tu pourrais donner le code qui te donne cette erreur et les valeur des variables à l'instant de cette erreur

@+: Ju£i€n
Pensez: Réponse acceptée

mardi 22 mai 2007 à 12:01:38 | Re : Problème avec une instruction VBA

Jpeg69

Exemple :

Index = 2

Worksheets("Feuil1").Range( Cells( Index * 6, 7 ), Cells( Index * 6, 10 ) ).ClearContents

Lorsque la macro plante, c'est cette ligne qui est surligné en jaune.

Voila, j'espère avoir été assez clair cette fois.

mardi 22 mai 2007 à 12:12:32 | Re : Problème avec une instruction VBA

jrivet

Membre Club
Réponse acceptée !
Salut,
Tu es sûr que c'est la car je viens de testé sur Excel 2000 et ca semble fonctionner. (si toutefois ton fichier possède une feuille nommée Feuil1

Tyu peux essayer ceci.

Index = 2
Worksheets("Feuil1").Range("G" & CStr(Index * 6), "J" & CStr(Index * 6)).ClearContents
By Renfield



@+: Ju£i€n
Pensez: Réponse acceptée

mardi 22 mai 2007 à 15:15:26 | Re : Problème avec une instruction VBA

Molenn

jmfmarques : Je me suis mal exprimé. Quand je disais "pur VBA", je voulais dire qu'en allant directement dans l'Editeur taper avec ses petits doigts boudinés les quelques lignes de code aptes à faire notre bonheur. Bien sûr que l'éditeur de macro va fonctionner pour obtenir ce qu'il veut, par contre, jamais au grand jamais il n'écrira la définition d'une cellule avec cette syntaxe (ou alors effectivement, j'étais absent le jour de la distribution)
Pour la simple et bonne raison qu'avec l'éditeur de macro, on ne peut pas écrire de boucle pour défiler toute les cellules d'une plage.
Je vois très bien comment substituer les coordonnées d'une plage par les références de cellules, mais, et c'est ça qui est bien avec le VBA, tu peux remplacer des bouts de code par leur équivalent et relancer la macro aussitôt, et quand même parfois te retrouver avec des erreurs d'exécution '9' bien connue. Après, tout dépend du code et là, il nous manque plein de choses pour comprendre.

Jpeg69 : Ton exemple
Index = 2
Worksheets("Feuil1").Range( Cells( Index * 6, 7 ), Cells( Index * 6, 10 ) ).ClearContents

Il manque des choses. De mémoire, il me semble avoir déjà eu ce problème, si ta variable Index est de type String, ça plante, il faut un Integer pour que cela fonctionne, donc soit modifier le type de ta variable, soit l'encadrer d'un Cint( ).
Autrement, ce code fonctionne très bien sous EXCEL 2003 à condition bien entendu que le code soit attaché à "Feuil1". Si ce code se trouve par exemple dans "Feuil2" et que tu veuilles supprimer des cellules dans "Feuil1", c'est insuffisant, il faudrait :
Worksheets("Feuil1").Range( Worksheets("Feuil1").Cells( Index * 6, 7 ), Worksheets("Feuil1").Cells( Index * 6, 10 ) ).ClearContents

Molenn


1 2

Cette discussion est classé dans : vba, problème, cells, range, instruction


Répondre à ce message

Sujets en rapport avec ce message

problème avec range. [ par neophenix83 ] Bonjour, Je veux selectionner plusieurs cellules d'un coup (avec range donc)...cauf que le nombre de cellule est variable. en fait, ma colone peut ch Problème d'incrémentation d'un tableau dynamique [ par Tobi26 ] Bonjour à tous,J'ai l'application qui me permet de comparer toutes les cellules de la colonne A1 dans 2 fichiers différents :Option Base 1Sub CommandB Problème de compréhension code VBA Excel [ par Within Temptation ] Bonjour j'ai quelque difficultés à comprendre ce que doivent faire les morceaux de code suivants : Code n°1 :Sub MajConsoParcelles()    Sheets("Consom [VBA Excel] recuperer la lettre d'une colonne [ par tof008 ] Hello! Voila mon problème : Je dois ajouter automatiquement sur une ligne un nouveau mois, puis remplir la colonne de données...Je fais donc une boucl Problème Excel et VB avec Range(Cells... [ par alexcarton ] Bonjour,Je rencontre le problème suivant. Lorsque j'exécute la ligne ci-dessous, tout va bien. Mais lorsque je tente d'exécuter la même instruction en [VBA] - Problème de boucle [ par jeyjey1 ] Bonjour, J'ai créer le code ci dessous qui me permet suivant que les 4 premiers caracteres d'une cellule soient egaux aux 4 autres de la cellule du [VBA Excel] Problème de syntaxe pour écriture de moyenne [ par caribou65 ] ReBonsoir !je crée un nouveau sujet car j'ai ENCORE oublié de completer le titre et je n'arrive pas à éditer le précédent.Désolé si ça irrite un modér probleme d'incrémentation [ par front33 ] Bonjour,j'ai un problème avec une boucle. Quand je l'active elle ne s'arrête plus.Je pense avoir un problème d'incrémentation mais je ne sais meme pas Problème avec formule vba [ par avyrex1926 ] Bonjour, J'ai un petit problème avec une formule vba. Je veux que la formule dans la colonne V, à partir de la 6ième ligne,qu'il me donne la valeur de


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 1,825 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.