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

Selection.autofill

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 !

spitfire378

XLDnaute Occasionnel
Bonjour a tous, voila j'ai une colonne contenant plusieurs valeurs, et dans celle tout de suite a droite je fais un calcul reprenant les valeurs de la premiere colonne. Ce que je voudrais, c'est pouvoir faire un selection.autofill de la deuxieme colonne jusqu'a la derniere valeur de la premiere colonne sachant que des valeurs en premiere colonne peuvent être rajoutés. Merci d'avance 🙂
 
Re : Selection.autofill

Bonjour,
Soit la colonne A avec tes valeurs et la colonne B avec le calcul à recopier vers le bas
Tu sélectionnes à partir de la cellule B2 et tu cherches la dernière cellule remplie en en colonne A, puis te te décales (offset) de 1 colonne pour sélectionner la plage de la colonne B où tu dois recopier tes formules.

Code:
    Range([B2], [A65536].End(xlUp).Offset(0, 1)).Select
    Selection.FillDown
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
 
Re : Selection.autofill

Merci Renauder, la formule marche nikel pour pas mal de mes formules mais dans certains cas VBA m'indique des erreurs au niveau du pastespecial.

Dans la feuille ci-jointe, j'ai deux dates, je souhaite calculer la différence en jours entre ces deux dates donc je calcul la différence la pas de probleme, par contre ta formule ne marche pas je ne comprends pas pourquoi, et aussi autre probleme est-il possible de ne pas faire le calcul dans les cellules ou il n'y a pas de dates renseignées. Merci 🙂
 

Pièces jointes

Re : Selection.autofill

Alors la je ne comprends pas des que je test dans votre classeur ca marche parfaitement, j'adapte le code a mon classeur et la toujours cette erreur au niveau du pastespecial.

Code:
'/////////////////////////Copie des dates pour durée moyenne de séjour/////////////////////////

'///////////////Copie date d'entrée//////////////////

Windows("Premier Classeur.xls").Activate

Sheets("clients").Select

Range("I3:I" & [I65000].End(xlUp).Row).Select

Selection.Copy

Windows("Accueil.xls").Activate

Sheets("Feuil2").Select

Range("AN2").Select

Selection.PasteSpecial

'//////////////////Copie Date Sortie/////////////////

Windows("Premier Classeur.xls").Activate

Sheets("Clients").Select

Range("AV3:AV" & [AV65000].End(xlUp).Row).Select

Selection.Copy

Windows("Accueil.xls").Activate

Sheets("Feuil2").Select

Range("AO2").Select

Selection.PasteSpecial


'////////////////Calcul Durée Moyenne entre date entrée/Sortie/////////////

Range("AP2").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-1]="""","""",RC[-1]-RC[-2])"
Range([AP2], [AN65536].End(xlUp).Offset(0, 2)).Select
Selection.FillDown
Selection.Copy
[COLOR="Yellow"]Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False[/COLOR]
Application.CutCopyMode = False
 
Re : Selection.autofill

Bonjour Renauder et bien en faite j'ai conservé la partie suivante de ton code :

Code:
Range("AU2").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-1]="""","""",RC[-1]-RC[-7])"
Range([AU2], [AT65536].End(xlUp).Offset(0, 2)).Select
Selection.FillDown

Et ca marche parfaitement 🙂

Par contre je ne comprends pas trop la syntaxe IF(RC[-1]="""","""", tu testes si il n'y a rien dans la cellule a gauche de la cellule active?

Et autre question la ca marche parfaitement, si aucune date n'est renseignée dans la deuxieme colonne, pas de calcul de durée. Est-ce que c'est possible de faire de même avec la premiere colonne?

Merci 🙂
 
Re : Selection.autofill

Bonjour,
Je teste si une date est présente dans la colonne B.
Si tu veux ne pas faire de calcul dans le cas ou la colonne B est remplie et pas la colonne A, il faut changer la formule.

On rajoute un OU (OU A1=vide OU B1=Vide)
Code:
    ActiveCell.FormulaR1C1 = "=IF(OR(RC[-2]="""",RC[-1]=""""),"""",RC[-1]-RC[-2])"
 
- 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

  • Question Question
Microsoft 365 Fonction si
Réponses
7
Affichages
190
Réponses
4
Affichages
259
Réponses
15
Affichages
764
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…