pourquoi ca ne marche pas !

Nicko

XLDnaute Occasionnel
bonjour à tous,

quelqu'un sait-il pourquoi ce code ne fonctionne pas ????

Dim nextcel
nextcel = Feuil7.Range("A65536").End(xlUp).Row + 1

Feuil7.Select
Range("E" & nextcel - 2 & ":F" & nextcel - 2).Select
Selection.AutoFill Destination:=Range("E" & nextcel - 1 & ":F" & nextcel - 1), Type:=xlFillDefault
Range("E" & nextcel - 1 & ":F" & nextcel - 1).Select
Range("A1:B1").Select

d'avance merci
Nicko
 

job75

XLDnaute Barbatruc
Re : pourquoi ca ne marche pas !

Bonjour Nicko,

Je ne comprends pas trop ce que vous voulez faire.

Mais peut-être au lieu de :

Code:
Selection.AutoFill Destination:=Range("E" & nextcel - 1 & ":F" & nextcel - 1), Type:=xlFillDefault

écrire :

Code:
Selection.AutoFill Destination:=[COLOR="Red"]Selection.Resize(2)[/COLOR], Type:=xlFillDefault

En effet "La destination doit inclure la plage source" (Aide VBA).

Edit : si c'est ça, pourquoi ne pas écrire simplement :

Code:
Selection.Offset(1) = Selection.Value

Par ailleurs je vous laisse l'entière responsabilité de tous vos Select ;)

A+
 
Dernière édition:

Nicko

XLDnaute Occasionnel
Re : pourquoi ca ne marche pas !

meci, je vais essayer ca !

pour info, je cherche simplement à "tirer" une formule existante dans la cellule superieur vers la nouvelle ligne créée.

puisqu'on y est, quel est le "risque" avec les SELECT ???

Nicko
 

job75

XLDnaute Barbatruc
Re : pourquoi ca ne marche pas !

Re,

En VBA, vous devriez le savoir depuis le temps, les Select sont presque toujours inutiles.

Ils alourdissent et ralentissent la procédure.

Et sur les feuilles ça se voit...

Edit : si la sélection comporte des formules, vous pouvez écrire :

Code:
Selection.Offset(1).FormulaR1C1 = Selection.FormulaR1C1

A+
 
Dernière édition:

Nicko

XLDnaute Occasionnel
Re : pourquoi ca ne marche pas !

MERCI POUR L'INFO !
Désolé, je n'etit pas au courant pour les contre-parties de SELECT !!!

Dans ce cas, pa quoi remplace t-on SELECT dans les codes ...

nicko

PS: pour la ligne de code, ca fonctionne impec'
 

mutzik

XLDnaute Barbatruc
Re : pourquoi ca ne marche pas !

bonjour,

pour les select, on ne les remplace pas, 9 fois sur 10, on en a pas besoin
exemple le plus souvent rencontré :
range("a5:b20").select
selection.copy
sheets("Feuil2").select
range("C48").select
activecell.paste
===== range("a5:b20").copy destination:=sheets("Feuil2").range("c48")
sans aucun select !!
 

Nicko

XLDnaute Occasionnel
Re : pourquoi ca ne marche pas !

Merci pour l'exemple !

Il va falloir apprendre de nouvelles syntaxes ...
"destination" par exemple n'est pas dans mon vocabulaire, mais semble etre utile !

encore merci, je vais me pencher sur l'eradication de tous les select qui passent ;-)
 

mutzik

XLDnaute Barbatruc
Re : pourquoi ca ne marche pas !

re,
ouaip, c'est une bonne idée de le faire, cela allègera ton code, te fera apprendre les nouvelles syntaxes. Sinon, tu as la touche F1 quand tu cliques sur un mot reservé VBA, il t'ouvre toute l'aide Microsoft concernant ce mot
 

Discussions similaires

Réponses
1
Affichages
194

Statistiques des forums

Discussions
312 412
Messages
2 088 196
Membres
103 763
dernier inscrit
p.michaux