Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

[XL 2003] Fonction For

boubmarley

XLDnaute Nouveau
Bonjour,

Apres de nombreuses recherche, je finis par venir vous demander de l'aide concernant ma macro.

Je souhaite deux choses:
-choisir les valeurs que je veux dans une fonction for (je veux les valeurs 4,6,7,10,17,19,...! mais pas des 5,8,9,11 ,...)

-ensuite je voudrais accelerer ma macro (en me renseignant, j'ai découvert que les select n'etait pas conseillés)



Pour que ce soit plus clair, voici un bout de ma macro



Merci de votre aide
 

JNP

XLDnaute Barbatruc
Re : [XL 2003] Fonction For

Bonjour le fil ,
A tester
Code:
Dim i As Integer, j As Integer, h As Integer
h = 4
For j = 4 To 70
With Windows("Classeur 1.xls").Sheets("Feuille 1")
.Range("D4").FormulaR1C1 = j
Windows("Classeur 2.xls").Sheets("Feuille 1").Cells(3, h).Resize(159).Value = .Range("E15:E175").Value
Windows("Classeur 2.xls").Sheets("Feuille 2").Cells(j, 4).Resize(3).Value = .Range("D9:D12").Value
End With
If j = 4 Then
j = 5
ElseIf j = 7 Then
j = 9
ElseIf j = 17 Then
j = 18
ElseIf j = 19 Then
j = 59
End If
h = h + 1
Next j
Bonne suite
 

boubmarley

XLDnaute Nouveau
Re : [XL 2003] Fonction For

Merci pour ces réponses mais j'ai encore un soucis...

Notament sur ton code JNP:

sur la ligne With Windows("Classeur 1.xls").Sheets("Feuille 1")

il me repond:

"erreur d'éxécution '438'
propriété ou méthode non gérée par cet objet"

et malgré mes recherches je ne comprend pas...
 

boubmarley

XLDnaute Nouveau
Re : [XL 2003] Fonction For

La macro marche sans erreur mais j'ai encore un petit soucis...!

Elle ne copie pas les valeurs dans le 2eme classeur (en 1ere ou 2eme feuille)

Cependant elle change bien mes valeurs de j car en déroulement pas à pas je vois les valeurs changer
 

JNP

XLDnaute Barbatruc
Re : [XL 2003] Fonction For

Re ,
J'ai surtout réduit le code, mais sans le fichier, difficile de te dire ...
Pour moi, il ne parait pas logique de faire une boucle pour copier toujours les mêmes valeurs à des emplacements différents, mais bon, c'est à toi de voir ...
Bonne suite
 

boubmarley

XLDnaute Nouveau
Re : [XL 2003] Fonction For

J'aimerais bien partager le fichier mais je n'en ai pas le droit...

cependant j'ai réussi a faire copier mes valeurs en rajoutant cela:

Workbooks("Classeur 2.xls").Sheets("Feuille 1").Cells(3, h).Resize(159).Value = Workbooks("Classeur 1.xls").Sheets("Feuille 1").Range("E15:E174").Value
Workbooks("Classeur 2.xls").Sheets("Feuille 2").Cells(4, (h - 1)).Resize(3).Value = Workbooks("Classeur 1.xls").Sheets("Feuille 2").Range("D913").Value


Mais j'ai un probleme (oui juste un dernier):
malgré le fait que je demande de copier E15:E174; il me copie jamais la derniere ligne... (il me copie E15:E175).
Y a t-il une explication?
 

Discussions similaires

Réponses
2
Affichages
124
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…