Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Remplacer les donnees d une ligne par d autres

  • Initiateur de la discussion Initiateur de la discussion kenavo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

K

kenavo

Guest
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
 
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
À+
 
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
À+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…