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

pourquoi ca ne marche pas !

  • Initiateur de la discussion Initiateur de la discussion Nicko
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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:
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
 
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:
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'
 
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 !!
 
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 ;-)
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

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