VBA: Insérer une formule dans la colonne que j'ai ajoutée
amelise
Messages postés
53
Statut
Membre
-
ccm81 Messages postés 11033 Statut Membre -
ccm81 Messages postés 11033 Statut Membre -
Bonjour,
Premier jour de VBA, vous excuserez mon niveau débutant ++++.
J'ai déjà écrit le code pour insérer une colonne entre la colonne Y et la colonne Z de mon fichier.
J'aimerais ensuite que dans la deuxième cellule de cette colonne (qui sera donc la nouvelle colonne Z et donc la cellule Z2), il y ait cette formule que je ne connais pas en vba: =droite(Y2;NBCAR(Y2)-1). Je souhaiterais également tirer cette formule jusqu'au bas de la feuille tant qu'il y a encore de la donnée en colonne Y.Et tout cela en vba.
Je vous remercie pour votre aide.
Premier jour de VBA, vous excuserez mon niveau débutant ++++.
J'ai déjà écrit le code pour insérer une colonne entre la colonne Y et la colonne Z de mon fichier.
J'aimerais ensuite que dans la deuxième cellule de cette colonne (qui sera donc la nouvelle colonne Z et donc la cellule Z2), il y ait cette formule que je ne connais pas en vba: =droite(Y2;NBCAR(Y2)-1). Je souhaiterais également tirer cette formule jusqu'au bas de la feuille tant qu'il y a encore de la donnée en colonne Y.Et tout cela en vba.
Je vous remercie pour votre aide.
5 réponses
-
Bonjour
Un exemple
http://www.cjoint.com/c/FFboYsupMVw
Cdlmnt -
Bonjour,
Voici le lien:
http://www.cjoint.com/c/FFcjLkfsqdz.
J'aimerais donc insérer une colonne entre la colonne Y et Z qui porterait le titre "Numéros de colis 2"b et dans la cellule Z2 de cette nouvelle colonne, appliquer la formule suivante =droite(Y2;NBCAR(Y2)-1) et tout cela en vba.
Merci de votre aide -
Bonjour
Le lien ne focntionne pas, as tu bien coché "Type de diffucion public" ?
La procédure qui fait ce que tu demandes
Public Sub OK()
Dim lifin As Long
lifin = Range("Y" & Rows.Count).End(xlUp).Row
Columns("Z").Insert
Range("Z1").Value = "Numéros de colis 2"
Range("Z2").FormulaLocal = "=DROITE(Y2;NBCAR(Y2)-1)"
Range("Z2").AutoFill Destination:=Range("Z2:Z" & lifin), Type:=xlFillDefault
End Sub
Cdlmnt -
Merci beaucoup
En effet, le lien ne marchait pas.
Voici un nouveau lien:http://www.cjoint.com/c/FFcql4SnoRz
J'ai essayé ton code mais j'ai un petit pb.
J'ai commencé à écrire un code dans un classeur (on peut l'appeler "Recueil"). Grâce à ce code, j'ouvre un fichier. C'est dans ce fichier (disons le fichier "Test") que je souhaite insérer une colonne entre la colonne Y et Z. C'est tout bête mais est-ce que je dois inscrire qch avant le code que tu as écrit pour préciser que ce code s'applique au fichier "Test"?
Cordialement -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour
Un peu de retard
Option Explicit Const FSource = "amelise-test.xls" Public Sub OK() Dim lifin As Long Windows(FSource).Activate With ActiveWorkbook.Sheets(1) lifin = .Range("Y" & Rows.Count).End(xlUp).Row .Columns("Z").Insert .Range("Z1").Value = "Numéros de colis 2" .Range("Z2").FormulaLocal = "=DROITE(Y2;NBCAR(Y2)-1)" .Range("Z2").AutoFill Destination:=.Range("Z2:Z" & lifin), Type:=xlFillDefault End With End Sub
RQ. Le fichier à traiter (ici amelise-test.xls) doit être ouvert avec la même session d'excel
Cdlmn