Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1004 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Limites sous visual basic

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Limites sous visual basic

n°1315066
kinetic
Posté le 28-02-2006 à 10:18:21  profilanswer
 

Salut à tous !
 
Finalement quand on pratique pas on oublie vite... Je cherche a créer une macro sous visual basic pour Excel (et oui la base de la base) mais je me heurte a un petit pépin : est ce qu'il est possible de créer un petit programme pour identifier une série de lettre dans des cases et les modifier automatiquement ?
 
Je m'explique. Admettons que dans la colonne B j'ai ça :
 
.hardware
hardware
HARD Ware
 
Comment est ce que je pourrais faire pour que le programme identifie par exemple la suite de lettre hard et que dans toutes les cases où l'on retrouve cette suite de lettre apparaisse clairement hardware ?
 
J'espère avoir été clair  :lol:  
 
Merci !

mood
Publicité
Posté le 28-02-2006 à 10:18:21  profilanswer
 

n°1315074
Lord Nelso​n
Posté le 28-02-2006 à 10:29:48  profilanswer
 

Salut,
 
Essaie ceci :
 


Sub Recherche_et_Remplace()
Dim CL As Range
For Each CL In ActiveSheet.Range("B3:B8" )
  If InStr(UCase(CL), "HARD" ) > 0 Then
    CL = "hardware"
  End If
Next
 
End Sub


 
A+
Horatio

n°1315107
kinetic
Posté le 28-02-2006 à 10:56:45  profilanswer
 

Merci beaucoup t'es une bête !

n°1315116
kinetic
Posté le 28-02-2006 à 11:03:14  profilanswer
 

Arf et ben non ca ne marche pas...  Je vais chercher un peu où ca plante. Je teste dans une feuille qui s'appelle test justement mais ça fait rien, snif

n°1315247
Profil sup​primé
Posté le 28-02-2006 à 12:51:54  answer
 


Code :
  1. Sub Recherche_et_Remplace()
  2. Dim CL As Range
  3. For Each CL In ActiveSheet.Range("B3:B8" )
  4.   If UCase(CL) Like  "*" & "HARD" & "*"  Then
  5.     CL = "hardware"
  6.   End If
  7. Next
  8. End Sub

n°1315421
Lord Nelso​n
Posté le 28-02-2006 à 15:55:01  profilanswer
 

Salut,
 
Oui Instr ou Like, peu importe, le résultat est strictement identique.
 
Kinetic, est-ce que ta feuille "test" est bien la feuille active lorsque tu lances la macro ?
Si ce n'est pas le cas, tu dois adapter le code :
 
For Each CL In Sheets("test" ).Range("B3:B8" )  
 
De même, si tes données à traiter sont dans une plage différente de B3 à B8, qui ne représente que quelques cellules pour un petit essai.
 
A+
Horatio
 
 
 
 
 

n°1315438
Profil sup​primé
Posté le 28-02-2006 à 16:09:50  answer
 

Lord Nelson a écrit :

Salut,
 
Oui Instr ou Like, peu importe, le résultat est strictement identique.
 
...
 
A+
Horatio


Oui mais mieux vaut connaître deux méthodes qu'une seule  ;)

n°1315492
Lord Nelso​n
Posté le 28-02-2006 à 17:06:50  profilanswer
 

Parfaitement d'accord avec toi, dans d'autres cas il sera préférable de recourir à Like plutôt qu'à Instr ou inversement.
 
Avantage de Like : utilisation possible des jokers ? et *
 :love:  
Avantage de Instr : Retour de la position de la chaîne recherchée
 :sol:  
A+
Horatio
 
 
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Limites sous visual basic

 

Sujets relatifs
decompiler un exe avec visual basic 6 ?Contenu de Visual Studio Express . . .
visual basicTreeView sous Visual C++.Net
Qt 4 + visual c++ 6 = j'ai du oublier de paramétrer quelque choseFonctionalité Visual Studio 2005
[visual 2003] [ifstream] problème de tellg en ios::binary[VISUAL C++] quel message est envoyé ?
Plus de sujets relatifs à : Limites sous visual basic


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR