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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Probleme d'automatisation en VBA sous Excel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme d'automatisation en VBA sous Excel

n°1757863
djeev
Posté le 10-07-2008 à 13:47:19  profilanswer
 

Bonjour à Tous
 
Je vous explique mon problème
 
Voila j'ai un tableaux de consommateurs électrique. Ma première colonne est réservé à l'indice de révision (Rev A,B,C etc...)
 
Or je voudrais qu'à chaque fois qu'une valeur sur une ligne change, l'indice de révision passe à B.
 
Voici le code que j'ai fais et qui marche bien, le seul problème est que je suis obligé de le répeter par le nombre de ligne en changemant à chaque fois les valeurs.  
 
Pouvez vous m'aider SVP:
 
 
 
 
Dim MemoCell As String
 
Private Sub Worksheet_Change(ByVal Target As Range)
 
    Dim iRange As Range
     
    If Not (Intersect(Target, Range(Cells(1, 2), Cells(1, 7))) Is Nothing) Then
        Cells(1, 1) = "B"
    End If
     
     
    If Not (Intersect(Target, Range(Cells(2, 2), Cells(2, 7))) Is Nothing) Then
        Cells(2, 1) = "B"
         
    End If
     
     
         
    If Not (Intersect(Target, Range(Cells(3, 2), Cells(3, 7))) Is Nothing) Then
        Cells(3, 1) = "B"
         
    End If
     
End Sub

 
 
Merci par avance pour votre aide.


Message édité par djeev le 11-07-2008 à 11:22:52
mood
Publicité
Posté le 10-07-2008 à 13:47:19  profilanswer
 

n°1757979
djeev
Posté le 10-07-2008 à 16:26:15  profilanswer
 

Personne pour m'aider SVP ??

n°1758267
djeev
Posté le 11-07-2008 à 09:30:38  profilanswer
 

Bon finalement j'ai trouvez moi même
 
Voila je voulais répéter "B" sur la première colonne, à chaque fois qu'il y avait un changement sur un ligne.
 
Voici donc le code, j'espère que ça servira a d'autre:
 
=====================================================
Private Sub Worksheet_Change(ByVal Target As Range)
 
    Dim iRange As Range
    Dim i As Integer, j As Integer
     
For i = 1 To 2000
     
     
    If Not (Intersect(Target, Range(Cells(i, 2), Cells(i, 7))) Is Nothing) Then
     
 
        Cells(i, 1) = "B"
         
    End If
     
 Next
End Sub

=====================================================
 
@+ Et merci quand même d'avoir lu mon sujet :)


Message édité par djeev le 11-07-2008 à 11:22:39
n°1759584
djeev
Posté le 15-07-2008 à 13:40:06  profilanswer
 

Voici ce même code avec en plus la possibilité de changer la couleur de la case où la modification s'effectue:
 
Private Sub Worksheet_Change(ByVal Target As Range)
 
    Dim iRange As Range
    Dim i As Integer, j As Integer
     
For i = 1 To 2000
     
     
    If Not (Intersect(Target, Range(Cells(i, 2), Cells(i, 7))) Is Nothing) Then
     
 
        Cells(i, 1) = "B"
 Target(1, 1).Interior.ColorIndex = 24
         
    End If
     
 Next
End Sub

 
 
Voilà
 
@+
 


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

  Probleme d'automatisation en VBA sous Excel

 

Sujets relatifs
[Xlib] Problème de focus de fenêtre[VBA] Pb d'automatisation Solver
Problème avec visual basic .net, usercontrol, validating/enter event[VBA] rechercher des mots dans Word
probléme $_SESSION dans IE7[VBA/Excel]Filtre Auto et copie des lignes résultantes
Problème variable 
Plus de sujets relatifs à : Probleme d'automatisation en VBA sous Excel


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