> Tous les forums > Forum Bureautique
 l'instruction cells(1,3) rejetée dans une macroSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
rogerone
  Posté le 03/04/2013 @ 17:29 
Aller en bas de la page 
Petit astucien

Bonjour à tous

j'écris une macro recherchant dans un fichier trié alphabétiquement les noms commençant par 3 lettres définies.

Pour ce faire j'ouvre mon fichier.

je sélectionne la feuille et je parcours mon fichier de 3 à la fin du fichier

j'écris donc cells(3,1).select

et la macro me signale une erreur 1004 (erreur définie par l'application ou l'objet)

parfois j'obtiens une message avec une croix rouge sur fond blanc avec le nombre 400!!!!!

quelle erreur ai-je donc commise?

voici mon code de la macro écrite dans un fichier perso.xls

Sub compoequipe()

'cette macro au départ du fichier alpha joueurs éditera la composition des equipes pour une semaine

Workbooks.Open Filename:="e:\tenexcel\lf2013.xlsm" Windows("lf2013.xlsm").Activate

i = 3 Z = 10 trois = InputBox("donnez les 3 premières lettres du joueur") Sheets("lfhalp").Select

Do

Cells(i, 1).Select nom = Cells(i, 1).Value

choix = Left(nom, 3)

If choix = trois Then

Cells(10, Z).Select

Cells(10, Z).Value = Cells(i, 1).Value

Z = Z + 1

End If

Loop Until Cells(i, 1).Value = " "

End Sub

Publicité
rogerone
 Posté le 03/04/2013 à 17:33 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

bonjour,

j'oublie de mentionner que je travaille avec excell2007

rogerone

ferrand
 Posté le 03/04/2013 à 18:28 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonsoir,

Tu pourrais la mettre complète déjà, elle ne semble pas l'être, et puis respecter une commande par ligne, ça la rendra au moins lisible.

Ensuite il serait bien que les variables soient déclarées, que les "select" disparaissent, les lignes inutiles aussi, bref qu'on utilise rationnellement la syntaxe VBA. Mais pour ça on peut aider !

En l'état, si c'est bien celle là qui est dans ton module, elle ne peut que déclencher des erreurs à répétition. Hors erreurs de copie possibles, la cellule (i,1) ne variant pas dans la macro, si sa valeur est "", elle sera vite finie, si elle est autre on aura 16374 tour de boucle, on ne voit pas trop pourquoi !

ferrand
 Posté le 04/04/2013 à 07:16 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonjour,

J'ai pris un peu de temps pour décoder tes intentions. Sans garantie, eut égard à ce qui n'est pas formulé, tu devrais essayer ceci :

Sub compoequipe()
Dim choix$, Z%, i%
Workbooks.Open "e:\tenexcel\lf2013.xlsm"
choix = InputBox("donnez les 3 premières lettres du joueur")
i = 3
Z = 10
With Workbooks("lf2013.xlsm").Worksheets("lfhalp")
Do While .Cells(i, 1).Value <> ""
If Left(.Cells(i, 1).Value, 3) = choix Then
.Cells(10, Z).Value = .Cells(i, 1).Value
Z = Z + 1
End If
i = i + 1
Loop
End With
End Sub

rogerone
 Posté le 04/04/2013 à 09:12 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour,

un tout grand merci pour avoir remis tout en ordre;j'ai testé la macro et tout fonctionne rapidement et répond à mon attente;

encore merci à Ferrand pour son aide précieuse

rogerone

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
138,49 €Alimentation modulaire Seasonic Focus Plus Gold 850W (garantie 10 ans) à 138,49 €
Valable jusqu'au 03 Mars

Amazon fait une promotion sur l'alimentation Seasonic Focus Plus Gold 850W qui passe à 138,49 € livrée gratuitement alors qu'on la trouve ailleurs à partir de 169 €. Le niveau frise la perfection avec une magnifique certification 80+ OR et un câblage full modulaire, le tout dans un silence de cathédrale. L'alimentation est garantie 10 ans.


> Voir l'offre
51,19 €Barre de son bluetooth Philips TAB5105 à 51,19 €
Valable jusqu'au 03 Mars

Cdiscount fait une promotion sur la barre de son bluetooth Philips TAB5105 qui passe à 51,19 € alors qu'on la trouve ailleurs à partir de 80 €. Cette barre de son intègre 2 haut-parleurs 2x15W et peut lire vos musiques sans fil via Bluetooth. Une entrée audio jack 3.5 mm et optique TOSLINK sont également présentes. Compatible HDMI ARC, vous pourrez contrôler la barre de son à l'aide de la télécommande de votre téléviseur. Elle est suffisamment fine pour se glisser sous la plupart des téléviseurs. Vous pouvez également la fixer au mur à l'aide des supports intégrés.


> Voir l'offre
79,99 €Souris sans fil avec trackball Logitech MX Ergo à 79,99 €
Valable jusqu'au 02 Mars

Amazon fait une belle promotion sur la souris sans fil avec trackball Logitech MX Ergo qui passe à 79,99 € livrée gratuitement. On la trouve ailleurs autour de 100 €. Réduisant de 20% la contrainte musculaire par rapport à une souris standard,  le Logitech MX Ergo vous facilitera le travail en maintenant dans une position très stable votre main.


> Voir l'offre

Sujets relatifs
2 pages par feuille dans macro excel
Creation d' une boucle macro dans fichier EXCEL pour impression
macro afficher masquer lignes tableau dans word 2010
Ecrir par macro dans des cellules différents
[chemin relatif dans une macro]
se positionner avec une macro dans une cellule précise
Place du curseur dans macro
Bouton macro dans feuille Excel 2010
Macro introuvable / Erreur de compilation dans le module caché
Création d'une macro dans Word
Plus de sujets relatifs à l''instruction cells(1,3) rejetée dans une macro
 > Tous les forums > Forum Bureautique