Impossible de prolonger mes formules dans les colonnes

Bonjour à tous

Impossible de prolonger mes formules dans mon tableau qui n'a jamais le même nombre de lignes.

La solution me crève certainement les yeux, mais je n'y voit plus.

Pouvez-vous m'aider SVP

Merci

Je test sur la colonne T qui est complète et me donne la dernière ligne

Je test ensuite la colonne U pour trouver la dernière ligne de formule renseignée

Ensuite, je désir étendre les formule de U et V jusqu'à la dernière ligne de T

Voici mon code:

Sub Prolonge()

Range("T3").Select

Selection.End(xlDown).Select

ActiveCell.Offset(0, 2).Select

Derlign = ActiveCell.Address

Range("U3").Select

Selection.End(xlDown).Select

Premcel = ActiveCell.Address

ActiveCell.Range("A1:B1").Select

ActiveWindow.SmallScroll Down:=13

Selection.AutoFill Destination:=activecel.Range(Cells(1, Premcel), Cells(2, Derlign)), Type:=xlFillDefault

ActiveCell.Select

End Sub

@+

Robert

Bonjour

Pas trop compris

J'ai compris copier la formule en U3 jusqu'à la fin de la colonne en T3

Sub Prolonge()
  Range("U3").AutoFill Destination:=Range("U3:U" & Range("T3").End(xlDown).Row), Type:=xlFillDefault
End Sub

Si pas ça

Bonjour Robert, Banzai,

Au vu du code de robert voici une proposition avec quelques explications pour optimiser le code :

Ceci :

Range("T3").Select
Selection.End(xlDown).Select
ActiveCell.Offset(0, 2).Select
Derlign = ActiveCell.Address

équivaut à :

Derlign = [T3].End(xlDown).Offset(, 2).Address

Ceci :

Range("U3").Select
Selection.End(xlDown).Select
Premcel = ActiveCell.Address

équivaut à :

Premcel = [U3].End(xlDown).Address

Ce code est inutile :

[barrer]ActiveWindow.SmallScroll Down:=13[/barrer]

Il permet de faire défiler la fenêtre (inutile en général).

Ensuite, tu peux remplacer ceci :

Selection.AutoFill Destination:=ActiveCell.Range(Cells(1, Premcel), Cells(2, Derlign)), Type:=xlFillDefault

par ceci :

Range(Premcel).Resize(, 2).AutoFill Range(Premcel, Derlign), xlFillDefault

De manière générale tu peux éviter les Select, ça ralentit le code. Et dans la mesure du possible, déclare tes variables en mettant le bon type de donnée.

Ton code optimisé :

Sub Prolonge()
    Dim Derlign As String, Premcel As String
    Derlign = [T3].End(xlDown).Offset(, 2).Address
    Premcel = [U3].End(xlDown).Address
    On Error Resume Next 'cette instruction te permet ici d'éviter le cas où la plage est déjà remplie
    Range(Premcel).Resize(, 2).AutoFill Range(Premcel, Derlign), xlFillDefault
End Sub

Bonjour Banzai64

Merci pour votre aide.

Compléter U et V.

J'ai donc adapté le code qui marche bien.

Il y a certainement une solution plus simple, je vais chercher

Merci

@+

Robert

Bonjour

Boby71C a écrit :

J'ai donc adapté le code qui marche bien

Si c'était une réponse que t attendais c'est bien

Boby71C a écrit :

Il y a certainement une solution plus simple, je vais chercher

Je pense que c'est assez simple : 1 ligne de code

Quelque chose m'échappe ?

Bonjour à tous

Merci pour votre aide.

Banzai64 excusez moi, je n'avais pas du tout l'intention d'être désagréable, le code que vous m'avez aimablement donné marchait seulement sur la colonne U, je l'ai donc adapté à ma petite façon, simplement car mes connaissances en VBA sont limitées.

Merci à vous deux pour le temps que vous m'avez accordé, les deux codes fonctionnent bien et j'ai encore appris.

@+

Robert

Bonsoir,

A partir d'Excel 2007, si tu transformes ta plage de données en table (insertion/Tableau), les formules et les formats se copient à chaque ajout de ligne en fonction du paramétrage d'Excel (Options d'Excel/Vérification/Option de correction automatique/Mise en forme automatique au cour de la frappe/Case à cocher Formules de remplissage dans les colonnes pour créer des colonnes calculées).

Accessoirement, quand tu descends suffisamment pour que la ligne d'entête disparaisse, les noms des entêtes de colonnes se substituent aux lettres des colonnes : par exemple, si ton entête de la colonne A est ANNEE, le "A" de Colonne est remplacé par "ANNEE". Et cela sans figer les volets.

Je te joins un fichier en exemple. Si tu ajoutes des dates en colonne A, les colonnes B et C se complèteront automatiquement.

A+

Benead

Rechercher des sujets similaires à "impossible prolonger mes formules colonnes"