Etendre une formule jusqu'à la dernière colonne

Bonjour,

Je cherche tout simplement un code VBA pour étendre une formule automatiquement d'une cellule de départ à la dernière colonne de la ligne sans la citer. Par exemple de la cellule A3 jusqu'à la F3, mais la dernière colonne remplie n'est pas forcément la F ....

J'ai essayé deux codes différents :

Dim dercol As Long

dercol = Cells(1, Cells.Columns.count).End(xlToLeft).Column

Range("BT8").Select

Selection.AutoFill Destination:=Range("BT8:BT" & dercol), Type:=xlFillDefault

Ainsi que :

Dim DernCol As Integer

DernCol = Range("BT8").End(xlToRight).Column

Range("BT8").Select

Selection.AutoFill Destination:=Range("BT8:BT" & dercol), Type:=xlFillDefault

Mais aucun des deux ne fonctionne ...

Merci à vous pour votre aide !

Jérémy

Bonjour,

Envoie un fichier exemple, ce n'est pas très clair... Tu souhaites étendre une formule jusqu'à la dernière colonne de ton fichier contenant des données quelle que soit la ligne (donc la même colonne partout), ou sur la dernière colonne contenant des données pour chaque ligne considérée (et donc potentiellement différente d'une ligne à l'autre) ?

Merci pour ta réponse, désolé si je n'ai pas été très clair ... Je joins un exemple

23exemple.xlsm (17.23 Ko)

Dans celui ci j'utilise la fonction recherchev pour remplir la cellule A4, puis ensuite j'étends la formule jusqu'en F4.

Seulement selon les cas je ne dois pas toujours étendre jusqu'en F4, c'est pourquoi j'aimerais trouver un code permettant d'étendre directement jusqu'à la dernière cellule contenant de l'information !

J'espère avoir été plus clair

Test avec :

dercol = Sheets("TaFeuille").UsedRange.Columns.Count

Bonjour,

À tester :

Sub test()
Dim DerCol As Integer

DerCol = Cells(1, Cells.Columns.Count).End(xlToLeft).Column
Range("BT8").AutoFill Destination:=Range(Cells(8, "BT"), Cells(8, DerCol)), Type:=xlFillDefault

End Sub

ric

Pedro j'ai essayé mais ça ne fonctionne pas, le code serait donc :

Dim DerCol As Integer

DerCol = Sheets("Feuil1").UsedRange.Columns.Count

Selection.AutoFill Destination:=Range("A4:A" & DerCol), Type:=xlFillDefault

C'est bien ça ?

A mon avis c'est la dernière ligne qui fait défaut ...

Ric merci pour ta réponse

Ca ne fonctionne pas, le message d'erreur suivant s'affiche : "Erreur de compilation: Référence incorrecte ou non qualifiée."

Et dans l'éditeur le .Range est surligné : Range("A4").AutoFill Destination:=.Range(Cells(4, "A"), Cells(4, DerCol)), Type:=xlFillDefault

Bonjour,

Effectivement, j'ai oublié d'enlever le . devant range, excuse moi.

J'ai corrigé le code présenté dans le post précédent.

ric

Aucun problème merci pour la correction !

Malheureusement quand je lance la macro le message d'erreur "Erreur d'exécution '1004' : La méthode Autofill de la classe Range a échoué." apparait ...

Bonjour,

À tester :

Sub test()

Dim DerCol As Integer

DerCol = Cells(1, Cells.Columns.Count).End(xlToLeft).Column

Range("BT8").AutoFill Destination:=Range(Cells(8, "A"), Cells(8, DerCol)), Type:=xlFillDefault

End Sub

ric

La partie en gras est incorrecte :

Cells(8, "A")
's'écrit normalement :
Cells(8, 1)

Bien vu Pedro

Plus de message d'erreur, mais le code ne fonctionne toujours pas car des #N/A s'affichent en A4 A5 A6 A7 et A8 ...

Bonjour à tous,

Bonjour Pedro

Cells(8, "A")
's'écrit normalement :
Cells(8, 1)

Les deux nomenclatures sont opérationnelles. La première a l'avantage de visualiser aisément sur quelle colonne l'instruction opérera ... surtout si on parle de la colonne BT qui est la 72e colonne.

ric

Au temps pour moi,

J'utilise Range("A1") et Cells(1, 1) mais jamais Cells(1, "A"). J'ignorais que c'était correct.

Bonjour Jeremulus, le forum,

je te retourne ton fichier modifié :

44exemple.xlsm (18.07 Ko)

Ctrl e (ou clic sur Bouton1) ➯ travail effectué

Alt F11 pour voir le code VBA, puis revenir sur Excel

si besoin, tu peux demander une adaptation.

merci de me dire si ça te convient.

dhany

Bonjour Dhany !

12exemple.xlsm (21.91 Ko)

Merci beaucoup pour ton aide ! C'est exactement ce que je voulais

Je me permets de te renvoyer un fichier, car je ne parviens pas à adapter tout à fait ton travail à mon fichier qui est un peu plus compliqué que l'exemple que j'ai envoyé ...

Je voudrais en fait effectuer une fonction d'extraction de texte en A10, puis étendre la fonction jusqu'en H10

Puis couper ces cellules A10 à H10, et les coller en A10 ... Et pour finir utiliser la fonction recherchev, mais pour ça c'est maintenant bon grâce à toi

Mon probleme maintenant est pour faire les deux premières étapes en VBA, toujours en prenant en compte que la dernière colonne qui contient de l'information n'est pas forcément la H10 ....

Je te remercie d'avance !

Bonjour Jeremulus,

je te retourne ton fichier modifié :

18exemple.xlsm (19.71 Ko)

Ctrl e (ou clic sur ton 1er bouton) ➯ ligne 4 complétée

Ctrl d (ou clic sur Bouton 2) ➯ lignes 9 et 10 complétées

adaptation possible ; à te lire pour avoir ton avis.

dhany

Merci Dhany c'est parfait ! Merci beaucoup !

J'ai une autre question sur un autre sujet, je ne sais pas si je suis censé faire un nouveau topic pour cela ... Dans le doute je la pose ici !

4exemple.xlsm (15.91 Ko)

En fait j'aimerais créer des nouveaux onglets, le nombre dépend d'un tableau inital qui change tout le temps. Dans l'exemple j'ai 7 prénoms donc 7 onglets à insérer. Jusqu'ici j'ai su faire ...

En revanche ce que j'aimerais faire c'est écrire en cellule A1 de chaque nouvel onglet, le prénom qui correspond.

Par exemple Martin pour le premier onglet ajouté, Clara pour le deuxième etc ...

Sais tu si cela est possible ?

Merci d'avance et à bientôt !

@Jeremulus

ma réponse a tardé car j'étais en pause-repas.

(j'ai pas d'horaires fixes, et j'avais pas encore mangé)


ça aurait été mieux que tu crées un autre sujet, car :

a) ta nouvelle demande est très différente de ce sujet

b) un autre lecteur pourrait être intéressé par ta nouvelle demande,

mais il ne la verra pas car ça ne correspond pas au titre du sujet

(s'il tombe dessus, ça sera seulement par hasard ! )


je te retourne ton fichier modifié :

10exemple.xlsm (15.64 Ko)

pour ce type d'opération peu fréquente (ajout de feuilles) :

* c'est mieux d'pas mettre de raccourci clavier

* donc : clic sur Bouton 1, ou via Alt F8

adaptation possible ; ton avis ?

dhany h-animaux37

Hello Dhany !

Aucun problème haha !

A nouveau c'est tout à fait ce que je voulais faire ... Merci beaucoup !

Le petit soucis que j'ai maintenant est le suivant .... Le tableau qui contient les titre des nouveaux onglets n'est pas toujours au même endroit ... N'a pas toujours la même taille ... Il se situe toujours en colonne D mais ne commence jamais à la même ligne.

Est ce qu'il faudrait avant de lancer la macro le selectionner ? ou le copier dans une nouvelle feuille pour que cela soit plus simple ?

Merci encore pour ton temps

Ah oui aussi, j'aimerais également que les nouvelles feuilles s'insèrent après une feuille spécifique, pas forcément la première ...

Rechercher des sujets similaires à "etendre formule derniere colonne"