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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  (résolu) vba excel : probleme de typage string

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

(résolu) vba excel : probleme de typage string

n°1276213
meuble2mai​son
Posté le 03-01-2006 à 10:15:52  profilanswer
 

bonjour,  
je souhaite que mon code affiche B1 dans la cellule (L, 6) et B2 en (L, 7) si la cellule (L, 5) contient la valeur B  
rien ne s'affiche à l'exec  
je pense que c'est du à une erreur de typage mais je n'arrive pas à la résoudre  
merci  
 
Julien  
 
 
Dim ligne As Long  
For ligne = ActiveSheet.UsedRange.Rows.Count To 1 Step -1  
 
Select Case ligne  
 
Case ActiveSheet.Cells(ligne, 5).Value = "A"  
ActiveSheet.Cells(ligne, 6).Value = "A1"  
 
Case ActiveSheet.Cells(ligne, 5).Value = "B"  
ActiveSheet.Cells(ligne, 6).Value = "B1"  
ActiveSheet.Cells(ligne, 7).Value = "B2"  
 
....  
 
End Select  
 
Next


Message édité par meuble2maison le 03-01-2006 à 23:20:12
mood
Publicité
Posté le 03-01-2006 à 10:15:52  profilanswer
 

n°1276274
watashi
La démotivation : JAMAIS !
Posté le 03-01-2006 à 12:04:42  profilanswer
 

Salut meuble2maison
 
Selct case fonctionne comme ceci
 
 
Select Case Tavariable
     Case is "A" ' Ta valeur
               Ton traitement
     Case  1 To 10 'une plage de valeur
               Ton autre traitement
     Case Else
                Dans les autres cas
end select
 
Mais dans ton cas un traitement plus simple consisterai à faire ceci :

Code :
  1. Dim ligne As Long
  2. For ligne = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
  3.      cells(ligne,6).value = cells(ligne,5).value & "1"
  4.      cells(ligne,7).value = cells(ligne,5).value & "2"
  5. next ligne


@+ Watashi
 
Edit : pour les syntaxes l'aide vans VBA est très bien faite....


Message édité par watashi le 03-01-2006 à 12:05:34

---------------
Je bidouillle c'est sur... Mais j'essaye de faire en sorte que ça marche ;-)
n°1276301
meuble2mai​son
Posté le 03-01-2006 à 12:45:51  profilanswer
 

salut watashi,
 
le code que tu donnes ne peut fonctionner car le but du programme n'est pas d'afficher B1 lorsqu'il y a B (j'ai écrit A & B de manière a éviter sont chaine de char trop longue)
 
mon code ressemble en fait à :
 
 
Dim ligne As Long
    For ligne = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
                 
    Select Case ligne
     
    Case ActiveSheet.Cells(ligne, 5).Value = "NON FRENCH W/O FED STAMP"
        ActiveSheet.Cells(ligne, 6).Value = "SWX TAX"
        ActiveSheet.Cells(ligne, 7).Value = "REPORTING FEE"
        ActiveSheet.Cells(ligne, 8).Value = "VIRTX FEES"
     
    Case ActiveSheet.Cells(ligne, 5).Value = "UK CHARITY W/O FED"
        ActiveSheet.Cells(ligne, 6).Value = "SWX TAX"
        ActiveSheet.Cells(ligne, 7).Value = "REPORTING FEE"
        ActiveSheet.Cells(ligne, 8).Value = "VIRTX FEES"
        ActiveSheet.Cells(ligne, 9).Value = "STAMP DUTY"
        ActiveSheet.Cells(ligne, 10).Value = "STAMP DUTY (IRELAND)"
...  
 
End Select
 
le but du prog :
les profils de taxe qui ne sont pas clair (ex : UK CHARITY W/O FED)
du coup, on preffere rajouter à coté les intitulés de chaqu'unes des taxes associées au profil

n°1276327
watashi
La démotivation : JAMAIS !
Posté le 03-01-2006 à 13:37:11  profilanswer
 

Voilà qui change un peu le problème.. Tu ne peux effectivement pas utiliser le remplissage automatique
 
Pour ton select case la bonne synthaxe est celle-ci

Code :
  1. Sub RemplirSelonCase()
  2. Dim ligne As Long
  3. Dim Valeur
  4.     For ligne = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
  5. 'au choix
  6.          Valeur = ActiveSheet.Cells(ligne, 5).Value
  7.     Select Case Valeur
  8. 'ou
  9. '    Select Case ActiveSheet.Cells(ligne, 5).Value
  10.         Case Is = "NON FRENCH W/O FED STAMP"
  11.             ActiveSheet.Cells(ligne, 6).Value = "SWX TAX"
  12.             ActiveSheet.Cells(ligne, 7).Value = "REPORTING FEE"
  13.             ActiveSheet.Cells(ligne, 8).Value = "VIRTX FEES"
  14.        
  15.         Case Is = "UK CHARITY W/O FED"
  16.             ActiveSheet.Cells(ligne, 6).Value = "SWX TAX"
  17.             ActiveSheet.Cells(ligne, 7).Value = "REPORTING FEE"
  18.             ActiveSheet.Cells(ligne, 8).Value = "VIRTX FEES"
  19.             ActiveSheet.Cells(ligne, 9).Value = "STAMP DUTY"
  20.             ActiveSheet.Cells(ligne, 10).Value = "STAMP DUTY (IRELAND)"
  21.     End Select
  22.     Next ligne
  23. End Sub


Ton choix ne dépend pas de ligne mais de le valeur de la cellule
@+


---------------
Je bidouillle c'est sur... Mais j'essaye de faire en sorte que ça marche ;-)
n°1276473
meuble2mai​son
Posté le 03-01-2006 à 16:40:49  profilanswer
 

merci,
ca marche

n°1276546
watashi
La démotivation : JAMAIS !
Posté le 03-01-2006 à 19:24:22  profilanswer
 

cool :)
Edites juste le titre de ton premier post avec un petit résolu, ça pourra en aider d'autres  :)


---------------
Je bidouillle c'est sur... Mais j'essaye de faire en sorte que ça marche ;-)

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

  (résolu) vba excel : probleme de typage string

 

Sujets relatifs
[resolu]stocker des données en memoire[resolu] recherche + le suivant + ... voir autre message
problème formulaire[URGENT] ACCESS-------> EXCEL ????????
[résolu tout seul] Udate avec jointure... J'ai un trou[RESOLU] - Aide sur mysql_connect
problème scrollbar[RESOLU]Connaitre le nom ou le numero de sheet active?
Probleme setIcon sous linux & Javadocprobleme de couleur
Plus de sujets relatifs à : (résolu) vba excel : probleme de typage string


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