Remplacer les donnees d une ligne par d autres

kenavo

XLDnaute Junior
Bonsoir,


J'ai sur la ligne 1 des cellules avec des intitulés, je souhaite remplacer ces intitules par des autres plus parlant
F92KY F92PRG F92ARG F9TP
je souhaite avoir a la place :
Clé unique libelle libre Chemin
Je ne souhaite pas utiliser la fonction choisir qui me limite en nbre de choix

je souhaite modifier ce code :

Code:
ption Base 1
Function MAVAL(MACEL As Range)

t1 = Array("F910KY", "F910LIB", "F910CHEMIN", "F910TXT", "T910910MED", "T910910NAT", "K910TD4NATMEMO", "F910RICHE", "F910DTOPE")
t2 = Array("Clé unique F910", "libelle libre", "Chemin", "le memo", "média", "Nature", "Code nature de mémo", "Texte riche", "Date de saisie")
x = Application.Match(MACEL, t1, 0)
If Not IsError(x) Then MAVAL = t2(x)
End Function

Sub associe()
Dim rng As Range, l As Range
Set rng = Range("L3:L" & Range("C65000").End(xlUp).Row) 
For Each l In rng
    If c.Offset(0, 1) <> "" Then l = MAVAL(l.Offset(0, 1))
Next
End Sub

Merci de votre aide
bon dimanche
 

Dranreb

XLDnaute Barbatruc
Re : Remplacer les donnees d une ligne par d autres

Bonjour.
C'est normal qu'aucun de vos 4 argument ne figure dans votre t1 ?
Je ne m'en suis aperçu qu'en commençant à tester la fonction MAVAL réécrite avec une boucle explorant le résultat d'un Split:
VB:
Function MAVAL(ByVal Texte As String) As String
Dim T1() As Variant, T2() As Variant, TSpl() As String, Z As String, N As Long, X As Variant
T1 = Array("F910KY", "F910LIB", "F910CHEMIN", "F910TXT", "T910910MED", "T910910NAT", "K910TD4NATMEMO", "F910RICHE", "F910DTOPE")
T2 = Array("Clé unique F910", "libelle libre", "Chemin", "le memo", "média", "Nature", "Code nature de mémo", "Texte riche", "Date de saisie")
TSpl = Split(Texte, " ")
Z = ""
For N = 0 To UBound(TSpl)
   X = Application.Match(TSpl(N), T1, 0)
   If IsError(X) Then Z = Z & " " & TSpl(N) Else Z = Z & " " & T2(X - 1)
   Next N
MAVAL = Mid$(Z, 2)
End Function
À+
 

kenavo

XLDnaute Junior
Re : Remplacer les donnees d une ligne par d autres

Merci Dranreb
En fait je ne comprends pas votre question :( ( je suis nulle désolée)
je mets un fichier pour mieux expliquer ce que je veux!
 

Pièces jointes

  • Classeur2.xls
    22.5 KB · Affichages: 35
  • Classeur2.xls
    22.5 KB · Affichages: 43
  • Classeur2.xls
    22.5 KB · Affichages: 39

Dranreb

XLDnaute Barbatruc
Re : Remplacer les donnees d une ligne par d autres

je mets un fichier pour mieux expliquer ce que je veux!
Vous auriez du commencer par là.
Avec ces 3 valeurs "F910KY", "F910LIB", "F910CHEMIN" votre fonction MAVAL marche mais pas avec les 4 que vous aviez cité:
F92KY F92PRG F92ARG F9TP
Ils ne figurent pas dans la table t1 de votre fonction MAVAL. De plus comme c'était écrit je croyais que c'était un seul texte avec 4 morceaux que vous vouliez remplacer par un seul texte aussi constitué de leurs remplacements par ce qu'il y a dans t2.

À part ça, votre procédure, telle que demandée dans le classeur, pourrait s'écrire comme ça, entre autres:
VB:
Sub RemplacerTitre()
With Feuil1.[A2:C2]
   .FormulaR1C1 = "=INDEX({""Clé unique F910"",""libelle libre"",""Chemin"",""le memo"",""média"",""Nature"",""Code nature de mémo"",""Texte riche"",""Date de saisie""}," _
      & "MATCH(R1C,{""F910KY"",""F910LIB"",""F910CHEMIN"",""F910TXT"",""T910910MED"",""T910910NAT"",""K910TD4NATMEMO"",""F910RICHE"",""F910DTOPE""},0))"
   .Value = .Value: End With
End Sub
À+
 

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote