Macro Excel help !!!

Macro Excel help !!! - Logiciels - Windows & Software

Marsh Posté le 11-11-2002 à 01:01:37    

je veu faire une macro qui couperai tjrs au meme endroit le texte d'une cellule d'excel. je m'explike si dans ma cellule il y a "bonjour clubic", je voudrai q ma macro la tranforme en "clubic". Donc kil coupe mon texte de 8 caracteres en partant de la gauche.
 
Merci a celui ki pourra m'aider.  
 
         [:elbibi]

Reply

Marsh Posté le 11-11-2002 à 01:01:37   

Reply

Marsh Posté le 11-11-2002 à 01:12:12    

Tu utilises une formule du type pour la cellule A1 :
 


RANGE("A1" ).VALUE = MID(RANGE("A1" ).VALUE,9)


 
Edit : erreur de syntaxe et la longueur est bien optionnelle...


Message édité par Guru le 11-11-2002 à 01:15:36
Reply

Marsh Posté le 11-11-2002 à 01:13:28    

me rappelle, c toi ki m'avais aide !!!!!!!!  ;)

Reply

Marsh Posté le 11-11-2002 à 01:18:12    

Dans excel, menu outils / macros / editeur visual basic ou le raccourci Alt+F11 puis tu créés un fragment de code :
 


Sub MaMacroQuiRemplaceLeTexte
   Range("A1" ).Value = Mid(Range("A1" ).Value, 9)
End Sub

Reply

Marsh Posté le 11-11-2002 à 01:22:09    

si c good je viens de retrouver comment faire !! mais le ptit pb, c'est q ca concerne n'importe kel cellule. en fait je veux me faire un raccourci clavier et q sur nimporte kelle cellule ca fasse ca !!! je veux separer ma cellule. genre "bonjour clubic" devienne "bonjour" et a cote "clubic".

Reply

Marsh Posté le 11-11-2002 à 01:29:55    

Tu peux écrire ca :
 


Sub MaMacroQuiRemplaceLeTexte()
    Dim sTmp As String
     
    sTmp = Selection.Value
    Selection.Value = Mid(sTmp, 1, 8)
    Range(Chr(Selection.Column + 65) & Selection.Row).Value = Mid(sTmp, 9)
End Sub

Reply

Marsh Posté le 11-11-2002 à 01:31:26    

Vraiment super cool de ta part. merci encore !!!!!!!!

Reply

Marsh Posté le 11-11-2002 à 01:32:19    

De rien vérifies que ca marche avant de dire merci, on sait jamais :lol:

Reply

Marsh Posté le 11-11-2002 à 01:36:39    

aïe g un ptit pb !!!
en fait au lieu de coupe a 8 par la gauche il me faudrai a 4 par la droite  :pt1cable:  
 
c pour faire un liste de cd : la cellule se presente com ceci : "artiste - album - 2002" et je ve q ca fasse "artiste - album" et a cote "2002" (sans le - devant" )
 
Apres promis t'embete plus et j'essaye de me debrouiller tt seul...


Message édité par albatoriv le 11-11-2002 à 01:38:39
Reply

Marsh Posté le 11-11-2002 à 01:42:19    

Si la partie a mettre dans la seconde colonne est toujours 2002 sans le "-"  et dans la première colonne tout jusqu'au second tiret il faudrait utiliser le code suivant :
 


Sub MaMacroQuiRemplaceLeTexte()
   Dim sTmp As String
   
   sTmp = Selection.Value
   Selection.Value = Left(sTmp, Len(sTmp) - 7)
   Range(Chr(Selection.Column + 65) & Selection.Row).Value = Right(sTmp, 4)
End Sub  


 
Edit : si je réponds c'est que ca m'embette pas :D


Message édité par Guru le 11-11-2002 à 01:42:42
Reply

Marsh Posté le 11-11-2002 à 01:42:19   

Reply

Marsh Posté le 11-11-2002 à 01:47:07    

Moi je dis : VIVE GURU !!!! merci beaucoup, et dire q je me galere avec ma pauvre macro et q toi en 2s tu fais ca !!! ppfff ca me dougoute  :)  c ton boulot ??
 
Com je t'ai encore sous la main. comment decaler ma selection de 2 cellules vers la droite ?? c genre offset, mais c koi le bon code ??

Reply

Marsh Posté le 11-11-2002 à 01:49:58    

Décaler ta sélection de 2 cellules vers la droite c'est a dire ? lorsque tu sélectionnes A1 et lance la macro
 
- déplacer le contenu de A1 dans C1 ?
- sélectionner C1 ?

Reply

Marsh Posté le 11-11-2002 à 01:53:20    

ben qd je fais ta macro (c la tienne, t'as tout fait lol) il reste sur la cellule d'origine. genre si c "A1" de selectionner, je fais TA macro, ca fait le ptit truc et ca reste sur "A1", moi j'aimerai que la cellule "A4" soit selectionnée en fin de macro, donc decalage de 3 vers la droite !
 
Et pour resumer , qd on veut couper une cellule de 3 caracteres en partant de gauche : Selection.VALUE = MID(selection).VALUE,3). Et si je veux de 4 en partant de gauche ??


Message édité par albatoriv le 11-11-2002 à 01:56:03
Reply

Marsh Posté le 11-11-2002 à 01:56:22    

Le nouveau code :
 


Sub MaMacroQuiRemplaceLeTexte()
  Dim sTmp As String
   
  sTmp = Selection.Value
  Selection.Value = Left(sTmp, Len(sTmp) - 7)
  Range(Chr(Selection.Column + 65) & Selection.Row).Value = Right(sTmp, 4)
  Range(Chr(Selection.Column + 67) & Selection.Row).Select
End Sub

Reply

Marsh Posté le 11-11-2002 à 01:59:19    

albatorIV a écrit a écrit :

 
Et pour resumer , qd on veut couper une cellule de 3 caracteres en partant de gauche : Selection.VALUE = MID(selection).VALUE,3). Et si je veux de 4 en partant de gauche ??




 
Mid(Selection.Value, 3) te retourne la chaine à partir du 3eme caractère, cela coupe les deux premiers caractères (a gauche), donc pour supprimer 4 caractères c'est :
 
Mid(Selection.Value, 5)


Message édité par Guru le 11-11-2002 à 01:59:33
Reply

Marsh Posté le 11-11-2002 à 02:00:45    

oups dsl ms je voulais dire 4 de la droite  :na:

Reply

Marsh Posté le 11-11-2002 à 02:02:58    

Pour couper ta chaine de 4 caractères depuis la droite tu peux utiliser la fonction left qui te retourne les X caractères les plus a gauche de la chaine, ce qui dans ce cas correspond à la longueur de la chaine moins les 4 caractères que tu veux retirer :
 
Left(Selection.Value, Len(Selection.Value) - 4)
 
Edit : euh j'ai bon la ? :D


Message édité par Guru le 11-11-2002 à 02:03:41
Reply

Marsh Posté le 11-11-2002 à 02:05:21    

je crois q maintenant j'ai tout compris !! je v dormir moins bete ce soir. Merci encore et si g un pb avec des macros et du vba, j'appelle Guru l'aide !! Merci

Reply

Marsh Posté le 11-11-2002 à 02:06:05    

De rien, bonne nuit en tout cas moi j'y vais :jap:


Message édité par Guru le 11-11-2002 à 02:06:14
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed