Comparer des cellules sous Excel

Comparer des cellules sous Excel - VB/VBA/VBS - Programmation

Marsh Posté le 21-04-2006 à 13:27:06    

Bonjour a tous,
 
J'ai un tableau de la forme suivante :
 
http://img233.imageshack.us/img233/6156/14xi.jpg
 
La colonne A contient un nombre a 5 chiffres
La colonne B est vide
La colonne C contient une suite de caracteres : 2 espaces, un nombre a 5 chiffres, un underscore puis une suite de caracteres.
 
Mon but est de comparer le nombre de la colonne A avec celui de la colonne C. Si ils sont identiques, j'inscris OK dans la colonne D, sinon j'inscris NON OK dans la colonne D.
 
Comment faire cela ?
 
 
Merci

Reply

Marsh Posté le 21-04-2006 à 13:27:06   

Reply

Marsh Posté le 21-04-2006 à 13:31:51    

Si tu utilises uniquement des nombres de 5 chiffres, regarde du côté de la fonction Mid(int indice_départ,int nb_ch_à_lire) pour extraire ton nombre à partir du contenu de ta colonne C.
 
Par contre je confonds toujours la syntaxe VB.net/VBA.
 
C'est soit Cells(i,j).Mid(k,l)
Soit Mid(k,l,Cells(i,j)) ou approchant

Reply

Marsh Posté le 21-04-2006 à 15:12:07    

Salut ;)  
Sous excel la syntaxe de mid c'est :
   Mid(expression,caractéredébut,longeur)
Si par hasard tu voudrais utiliser des fonctions de base d'excel, dans ta colonne D la fonction serait :
=SI(A5=CNUM(STXT(C5;3;5));"OK";"" )
En espérant que ta collone a bien toujours cette syntaxe :)
@+

Reply

Marsh Posté le 25-04-2006 à 12:59:29    

Voila une marco qui te fera ca:

Code :
  1. Sub comparer_nombre()
  2.     For i = 1 To 100
  3.         If Int(Cells(i, 1).Value) = Int(Mid(Cells(i, 3).Value, 1, InStr(1, Cells(i, 3).Value, "_" ) - 1)) Then
  4.             Cells(i, 4).Value = "OK"
  5.         Else
  6.             Cells(i, 4) = "NON"
  7.         End If
  8.     Next i
  9. End Sub


 
Il faudra que tu modifie le For i=1 To 100 par ton nombre de ligne à comparer.
Il faudra peut etre aussi que tu modifies les Cells() si tu change tes valeurs de colones.
 
 
Le mid te permet en effet de selectionner une partie d'une chaine de caracteres.
Le Instr recherche la position d'un caractere dans une chaine.
Je cherche donc avec le Mid le nombre placé du debut jusqu'a l'endroit ou se situe le _ et je le compare au nombre de ta celulle A
 
Voila!


Message édité par 4lkaline le 25-04-2006 à 13:12:04
Reply

Sujets relatifs:

Leave a Replay

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