XL 2013 copier code vba d'une cellule dans toute la colonne

rolby

XLDnaute Nouveau
bonjour les amis,
j'ai mis du code vba dans une cellule d'un tableau, et je voudrais le copier dans tout la colonne.
'le but est de ne pas pouvoir aller écrire dans D2 car il y a une formule ( ="sect" & C2 )
il s'agit d'un tableau et donc la formule se reporte à mesure que l'on saute à la ligne suivante
(.....si je protège la feuille, le tableau ne fonctionne, plus la formule ne se reporte pas...)
'je voudrais que le code suivant se reporte aussi ... voici le code :
'**********************
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address(0, 0) = "D2" Then
ActiveCell.Offset(0, -1).Select
'''''''ou bien''''
Range("C2").Select
End If
End Sub
***********************
j'espère que ma question n'est pas trop farfelue !....
Merci d'avance à tous
Cordialement
Rolby :)
 

Pièces jointes

  • steph2.xlsm
    18.5 KB · Affichages: 6

rolby

XLDnaute Nouveau
bonjour les amis,
j'ai mis du code vba dans une cellule d'un tableau, et je voudrais le copier dans tout la colonne.
'le but est de ne pas pouvoir aller écrire dans D2 car il y a une formule ( ="sect" & C2 )
il s'agit d'un tableau et donc la formule se reporte à mesure que l'on saute à la ligne suivante
(.....si je protège la feuille, le tableau ne fonctionne, plus la formule ne se reporte pas...)
'je voudrais que le code suivant se reporte aussi ... voici le code :
'**********************
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address(0, 0) = "D2" Then
ActiveCell.Offset(0, -1).Select
'''''''ou bien''''
Range("C2").Select
End If
End Sub
***********************
j'espère que ma question n'est pas trop farfelue !....
Merci d'avance à tous
Cordialement
Rolby :)
 

rolby

XLDnaute Nouveau
bonjour à tous
Je ne sais pas si je peux faire comme cela, vous me direz si j'ai pas bien fait ....
donc je réponds à ma question ci dessus. voici donc le code qui permet de faire ce que je souhaite.
Je sais pas si c'est très élégant, mais ça marche ....
Peut-être que cela pourra servir à quelqu'un....
mon exemple est un tableau
la valeur à modifier doit être saisie dans la col C, la formule de la colonne D est ="Sect " & C2
comme c'est un tableau le passage à la ligne par "entrée" reporte la formule.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim cible As Variant
Dim I As Integer
I = 2
For I = 2 To 500 '( le code s'applique de la ligne 2 jusqu'à la ligne souhaitée ... 500 dans ce cas ...
cible = "D" & I
If Target.Address(0, 0) = cible Then
ActiveCell.Offset(0, -1).Select
End If
Next I
End Sub
Amicalement
Rolby
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil

[spéciales dédicaces - dg62 & jmfmarques - yeah bro !]
Je suis du VBA, on m'a mis dans une cellule
Puis on m'a exécuté ;)
VB:
Sub DansUneCelluleJeSuis()
Dim strCode As String
With ActiveSheet.Range("A1")
.Value2 = "MsgBox ""Nous sommes le: "" & Date, 64,""OK, je sors ;-)"""
strCode = .Text
End With
StringExecute strCode
End Sub

Private Sub StringExecute(s As String)
Dim vbComp As Object
Set vbComp = ThisWorkbook.VBProject.VBComponents.Add(1)
vbComp.CodeModule.AddFromString "Sub Bus()" & vbCrLf & s & vbCrLf & "End Sub"
Application.Run vbComp.Name & ".Bus"
ThisWorkbook.VBProject.VBComponents.Remove vbComp
' Credits to A.S.H., see https://stackoverflow.com/questions/43216390/how-to-run-a-string-as-a-command-in-vba
End Sub
[/spéciales dédicaces - dg62 & jmfmarques - yeah bro !]
 

Discussions similaires

Statistiques des forums

Discussions
312 169
Messages
2 085 915
Membres
103 037
dernier inscrit
Alves AGBO