> 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
22,18 €Clé USB Sandisk Ultra 128 Go à double connectique USB 3.1 Type A et C à 22,18 €
Valable jusqu'au 28 Février

Amazon fait une promotion sur la clé USB Sandisk Ultra 128 Go à double connectique USB 3.1 Type A et C qui passe à 22,18 €. Cette clé USB  dispose d'un connecteur réversible USB Type C et d'un connecteur classique de type A. Grâce à elle, transférez en toute simplicité et rapidement (jusqu'à 150 Mo/s) vos fichiers entre vos smartphones, tablettes et ordinateurs. On la trouve ailleurs à plus de 40 €.

 


> Voir l'offre
14,88 €Coffret d'embouts de vissage et à cliquet Bosch 26 pièces à 14,88 €
Valable jusqu'au 01 Mars

Amazon fait une promotion sur le coffre de 32 pièces d'embouts de vissage qui passe à 13,50 € au lieu de 16 €. Il comporte un porte embout universel à changement rapide et des embouts PH1/PH2/PH2/PH3/PZ1/PZ2/PZ2/PZ3/HEX 3/HEX 4/HEX 5/HEX 6/T10/T15/T20/T20/T25/T27/T30/T40.


> Voir l'offre
84,99 €SSD PNY CS900 960 Go à 84,99 €
Valable jusqu'au 01 Mars

Amazon fait une promotion sur le SSD PNY CS900 960 Go qui passe à 84,99 € alors qu'on le trouve ailleurs à partir de 110 €. Ce SSD offre des vitesses d'écriture de 515 Mo/s et de lecture à 550 Mo/s. Il est garanti 3 ans. La livraison est gratuite.


> 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