Macro qui compare deux cellule de deux fichiers different.

Lemaestro7 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -  
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   -
salut à tous.
voila je suis débutant en VBA, je voudrais écrire une macro qui va me permettre de les cellules d'un fichier 1 avec les cellules d'un fichier 2 et reporter le résultat dans un autre fichier excel en écrivant s'il y a différence "faux" par exemple et si elle sont identique "vrai". merci pour votre aide.
A voir également:

2 réponses

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

Vous pouvez mettre a dispo un exemple des deux fichiers a comparer et celui qui reçoit l'info?
2
Lemaestro7 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour. le principe est le suivant. j'ai un fichier qui me vient d'un enseignant et j'ai un fichier que je récupère de ma bd que je compare avec celui de l'enseignant. si il y a des notes qui manque, ça m’écrit "pas de note" dans le troisième classeur.
https://www.cjoint.com/c/HADirNexaGO classeur 1
https://www.cjoint.com/c/HADisKMz62O classeur 2
https://www.cjoint.com/c/HADitBGVNGO classeur 3
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

Je regarde la chose
Z'etes vraiment debutant ???
Juste un detail, le code VBA doit etre dans le classeur3 ou ?????
A+
0
Lemaestro7 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   > f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention  
 
oui je le suis en VBA.
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Re,

Fichier traitement pour la meme liste de noms dans les trois classeurs:
Code VBA relativement "simple"
https://mon-partage.fr/f/fr9tiyi3/
0
Lemaestro7 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   > f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention  
 
merci.
0
Lemaestro7 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
avec un peu de modification voila une solution au problème.
0
Lemaestro7 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
Sub Bouton1_Cliquer()
Dim TN_1
Dim TN_2
Dim TN_Res As Range
Dim DernLigne As Long

On Error GoTo Fin 'traitement erreur(s)
'fige raffraichissement ecran
Application.ScreenUpdating = False
Chemin = ThisWorkbook.Path & "\"

'mise en memoire tableau notes
With Worksheets("feuil1")
'dernier cellule non vide colonne A
DernLigne = .Range("A" & Rows.Count).End(xlUp).Row

'mise en memoire Plage de cellule
Set TN_Res = .Range("A1:A" & DernLigne)
End With

'ouverture classeur 1 pour recupe tableau notes
Workbooks.Open (Chemin & "Classeur1.xlsx")
'mise en memoire tableau note
TN_1 = Worksheets("feuil1").UsedRange
'fermeture classeur 1
Workbooks("Classeur1.xlsx").Close True
'ouverture classeur 2 pour recupe tableau notes
Workbooks.Open (Chemin & "Classeur2.xlsx")
'mise en memoire tableau note
TN_2 = Worksheets("feuil1").UsedRange
'fermeture classeur 2
Workbooks("Classeur2.xlsx").Close True

'-------------------------------------------
'| traitement des tableaux notes |
'-------------------------------------------

'boucle pour ecriture de l'entete
For NL = 1 To 4
TN_Res(NL, 1) = TN_1(NL, 1)
Next NL

For NC = 1 To 4
TN_Res(1, NC) = TN_1(1, NC)
Next NC

'boucle sur ligne colonne A
For NL = 2 To 4
'boucle sur les colonnes
For NC = 2 To 4
If TN_1(NL, NC) <> TN_2(NL, NC) Then 'contenus cellules differents
TN_Res(NL, NC) = "Pas de note" 'ecriture cellule classeur Resultat
Else 'contenus cellules identiques
TN_Res(NL, NC) = "Ok" 'ecriture cellule classeur Resultat
End If
Next NC
Next NL
ThisWorkbook.Save
Fin:
'raffraichissement ecran ok
Application.ScreenUpdating = True

End Sub
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bon jour,
Quel Probleme!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Si Chemin: voir avec votre chemin de fichier a vous
0
Lemaestro7 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   > f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention  
 
au niveau de la boucle For qui recupere la derniere ligne. quand je laisse
For NC = 1 to DernLigne
la boucle ne foncionne pas. c'est comme si la valeur contenu dans cette variable n'est pas un entier
0
Lemaestro7 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   > f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention  
 
quand je remplace DernLigne par une valeur ca fonctionne bien. quand j 'essaye d'afficher ce qu'il ya dans la variable DernLigne ca affiche une valeur. mais puisque ca ne fontionne pas dans la boucle, je pense que cette valeur est soit un caractere soit il ya un espace devant. et c'est pour cela que la boucle ne fonctionne pas.
j'ai deja gerer le chemin et tout le reste
0
Lemaestro7 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   > f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention  
 
DernLigne = .Range("A" & Rows.Count).End(xlUp).Row

j'aimerai savoir quel est le type de la donnée qui se trouve dans DernLigne. merci d'avance.
0