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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Comparer des cellules sous Excel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comparer des cellules sous Excel

n°1351185
blu3sky
Posté le 21-04-2006 à 13:27:06  profilanswer
 

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

mood
Publicité
Posté le 21-04-2006 à 13:27:06  profilanswer
 

n°1351189
jeoff
Posté le 21-04-2006 à 13:31:51  profilanswer
 

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

n°1351303
watashi
La démotivation : JAMAIS !
Posté le 21-04-2006 à 15:12:07  profilanswer
 

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 :)
@+

n°1353522
4lkaline
Posté le 25-04-2006 à 12:59:29  profilanswer
 

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

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

  Comparer des cellules sous Excel

 

Sujets relatifs
conception de macro sur excelmatrices avec classes vba/excel
lire des données d'une base de donnée avec excellire un fichier excel à l'aide de perl
Ignorer le rapport d'erreur d'Exceltrouver le path d'un fichier excel
Faire un programme en C ou C++ et l'utiliser sous excel ou Oooou exclusif sur excel
exécuter une macro excel depuis un script perl[EXCEL] comment comparer 2 cellules ?
Plus de sujets relatifs à : Comparer des cellules sous Excel


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