j'ai la formule suivante =SOMME(SI(NB.SI($B$67:$B$83;$H$67:$H$83)=0;1;0))
qui me compare 2 plage et qui m'indique le nombre de cellule qui son
differente.
mais le probleme c'est qu'il me fadrait une formule semblable a l'aide d'une
macro et qui peu comparer plus de 2 cellule, Car cette formule ne peu en
comparer plus de 2 :(
j'aimerai qu'il me compare les 4 feuilles et qui me ramene sur un autre
feuille les cellule A1 et A2 de la feuil3 car il ne son pas parreil au autre
feuilles
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
PMO
Bonjour,
Une piste avec le code ci-dessous à copier dans un module standard.
'********** Sub PMO_CompareCellules() Dim S As Worksheet Dim R As Range Dim var1 Dim var2 Dim i& Dim j& Dim k& Dim bool As Boolean Dim nom1$ Dim nom2$ With ActiveWindow If .SelectedSheets.Count = 1 Then MsgBox "Veuillez sélectionner plusieurs feuilles." & _ vbCrLf & vbCrLf & _ "Maintenez la touche Ctrl pour ce faire." Exit Sub End If On Error GoTo fin Set R = Application.InputBox( _ prompt:="Sélectionnez une plage.", Type:=8) For k& = 2 To .SelectedSheets.Count bool = False var1 = .SelectedSheets(k& - 1).Range(R.Address) var2 = .SelectedSheets(k&).Range(R.Address) For i& = 1 To UBound(var1, 1) For j& = 1 To UBound(var1, 2) If var1(i&, j&) = var2(i&, j&) Then var1(i&, j&) = "" var2(i&, j&) = "" Else nom1$ = .SelectedSheets(k& - 1).Name nom2$ = .SelectedSheets(k&).Name bool = True End If Next j& Next i& If bool Then Sheets(nom1$).Select Set S = Sheets.Add(after:=Sheets(Sheets.Count)) S.Range(R.Address) = var1 S.Name = nom1$ & "_log" Set S = Sheets.Add S.Range(R.Address) = var2 S.Name = nom2$ & "_log" MsgBox "Différences constatées. Programme stoppé." Exit Sub End If Next k& End With MsgBox "Aucune différence. Terminé." fin: End Sub '**********
1) Avant de lancer la macro, il faut sélectionner au moins 2 feuilles (par clic gauche avec Ctrl appuyée ET maintenue) 2) Une boîte demande de sélectionner une plage 3) Si différences constatées, le programme stoppe et affiche deux feuilles log où apparaissent les différences. 4) Dans ce cas et après correction, refaire la même manipulation pour contrôler les autres feuilles (dans la mesure où plus de 2 feuilles sont à contrôler)
Cordialement.
-- PMO Patrick Morange
Bonjour a tous,
j'ai la formule suivante =SOMME(SI(NB.SI($B$67:$B$83;$H$67:$H$83)=0;1;0))
qui me compare 2 plage et qui m'indique le nombre de cellule qui son differente.
mais le probleme c'est qu'il me fadrait une formule semblable a l'aide d'une macro et qui peu comparer plus de 2 cellule, Car cette formule ne peu en comparer plus de 2 :(
j'aimerai qu'il me compare les 4 feuilles et qui me ramene sur un autre feuille les cellule A1 et A2 de la feuil3 car il ne son pas parreil au autre feuilles
est-ce possible ??? merci de votre aide
Bonjour,
Une piste avec le code ci-dessous à copier dans un
module standard.
'**********
Sub PMO_CompareCellules()
Dim S As Worksheet
Dim R As Range
Dim var1
Dim var2
Dim i&
Dim j&
Dim k&
Dim bool As Boolean
Dim nom1$
Dim nom2$
With ActiveWindow
If .SelectedSheets.Count = 1 Then
MsgBox "Veuillez sélectionner plusieurs feuilles." & _
vbCrLf & vbCrLf & _
"Maintenez la touche Ctrl pour ce faire."
Exit Sub
End If
On Error GoTo fin
Set R = Application.InputBox( _
prompt:="Sélectionnez une plage.", Type:=8)
For k& = 2 To .SelectedSheets.Count
bool = False
var1 = .SelectedSheets(k& - 1).Range(R.Address)
var2 = .SelectedSheets(k&).Range(R.Address)
For i& = 1 To UBound(var1, 1)
For j& = 1 To UBound(var1, 2)
If var1(i&, j&) = var2(i&, j&) Then
var1(i&, j&) = ""
var2(i&, j&) = ""
Else
nom1$ = .SelectedSheets(k& - 1).Name
nom2$ = .SelectedSheets(k&).Name
bool = True
End If
Next j&
Next i&
If bool Then
Sheets(nom1$).Select
Set S = Sheets.Add(after:=Sheets(Sheets.Count))
S.Range(R.Address) = var1
S.Name = nom1$ & "_log"
Set S = Sheets.Add
S.Range(R.Address) = var2
S.Name = nom2$ & "_log"
MsgBox "Différences constatées. Programme stoppé."
Exit Sub
End If
Next k&
End With
MsgBox "Aucune différence. Terminé."
fin:
End Sub
'**********
1) Avant de lancer la macro, il faut sélectionner au moins 2 feuilles
(par clic gauche avec Ctrl appuyée ET maintenue)
2) Une boîte demande de sélectionner une plage
3) Si différences constatées, le programme stoppe et affiche
deux feuilles log où apparaissent les différences.
4) Dans ce cas et après correction, refaire la même manipulation
pour contrôler les autres feuilles (dans la mesure où plus de
2 feuilles sont à contrôler)
Cordialement.
--
PMO
Patrick Morange
Bonjour a tous,
j'ai la formule suivante =SOMME(SI(NB.SI($B$67:$B$83;$H$67:$H$83)=0;1;0))
qui me compare 2 plage et qui m'indique le nombre de cellule qui son
differente.
mais le probleme c'est qu'il me fadrait une formule semblable a l'aide d'une
macro et qui peu comparer plus de 2 cellule, Car cette formule ne peu en
comparer plus de 2 :(
j'aimerai qu'il me compare les 4 feuilles et qui me ramene sur un autre
feuille les cellule A1 et A2 de la feuil3 car il ne son pas parreil au autre
feuilles
Une piste avec le code ci-dessous à copier dans un module standard.
'********** Sub PMO_CompareCellules() Dim S As Worksheet Dim R As Range Dim var1 Dim var2 Dim i& Dim j& Dim k& Dim bool As Boolean Dim nom1$ Dim nom2$ With ActiveWindow If .SelectedSheets.Count = 1 Then MsgBox "Veuillez sélectionner plusieurs feuilles." & _ vbCrLf & vbCrLf & _ "Maintenez la touche Ctrl pour ce faire." Exit Sub End If On Error GoTo fin Set R = Application.InputBox( _ prompt:="Sélectionnez une plage.", Type:=8) For k& = 2 To .SelectedSheets.Count bool = False var1 = .SelectedSheets(k& - 1).Range(R.Address) var2 = .SelectedSheets(k&).Range(R.Address) For i& = 1 To UBound(var1, 1) For j& = 1 To UBound(var1, 2) If var1(i&, j&) = var2(i&, j&) Then var1(i&, j&) = "" var2(i&, j&) = "" Else nom1$ = .SelectedSheets(k& - 1).Name nom2$ = .SelectedSheets(k&).Name bool = True End If Next j& Next i& If bool Then Sheets(nom1$).Select Set S = Sheets.Add(after:=Sheets(Sheets.Count)) S.Range(R.Address) = var1 S.Name = nom1$ & "_log" Set S = Sheets.Add S.Range(R.Address) = var2 S.Name = nom2$ & "_log" MsgBox "Différences constatées. Programme stoppé." Exit Sub End If Next k& End With MsgBox "Aucune différence. Terminé." fin: End Sub '**********
1) Avant de lancer la macro, il faut sélectionner au moins 2 feuilles (par clic gauche avec Ctrl appuyée ET maintenue) 2) Une boîte demande de sélectionner une plage 3) Si différences constatées, le programme stoppe et affiche deux feuilles log où apparaissent les différences. 4) Dans ce cas et après correction, refaire la même manipulation pour contrôler les autres feuilles (dans la mesure où plus de 2 feuilles sont à contrôler)
Cordialement.
-- PMO Patrick Morange
Bonjour a tous,
j'ai la formule suivante =SOMME(SI(NB.SI($B$67:$B$83;$H$67:$H$83)=0;1;0))
qui me compare 2 plage et qui m'indique le nombre de cellule qui son differente.
mais le probleme c'est qu'il me fadrait une formule semblable a l'aide d'une macro et qui peu comparer plus de 2 cellule, Car cette formule ne peu en comparer plus de 2 :(
j'aimerai qu'il me compare les 4 feuilles et qui me ramene sur un autre feuille les cellule A1 et A2 de la feuil3 car il ne son pas parreil au autre feuilles
est-ce possible ??? merci de votre aide
Michael
Merci pour la piste PMO c'est excellent :)
"PMO" <patrickPOINTmorangeAROBASElapostePOINTnet> a écrit dans le message de news:
Bonjour,
Une piste avec le code ci-dessous à copier dans un module standard.
'********** Sub PMO_CompareCellules() Dim S As Worksheet Dim R As Range Dim var1 Dim var2 Dim i& Dim j& Dim k& Dim bool As Boolean Dim nom1$ Dim nom2$ With ActiveWindow If .SelectedSheets.Count = 1 Then MsgBox "Veuillez sélectionner plusieurs feuilles." & _ vbCrLf & vbCrLf & _ "Maintenez la touche Ctrl pour ce faire." Exit Sub End If On Error GoTo fin Set R = Application.InputBox( _ prompt:="Sélectionnez une plage.", Type:=8) For k& = 2 To .SelectedSheets.Count bool = False var1 = .SelectedSheets(k& - 1).Range(R.Address) var2 = .SelectedSheets(k&).Range(R.Address) For i& = 1 To UBound(var1, 1) For j& = 1 To UBound(var1, 2) If var1(i&, j&) = var2(i&, j&) Then var1(i&, j&) = "" var2(i&, j&) = "" Else nom1$ = .SelectedSheets(k& - 1).Name nom2$ = .SelectedSheets(k&).Name bool = True End If Next j& Next i& If bool Then Sheets(nom1$).Select Set S = Sheets.Add(after:=Sheets(Sheets.Count)) S.Range(R.Address) = var1 S.Name = nom1$ & "_log" Set S = Sheets.Add S.Range(R.Address) = var2 S.Name = nom2$ & "_log" MsgBox "Différences constatées. Programme stoppé." Exit Sub End If Next k& End With MsgBox "Aucune différence. Terminé." fin: End Sub '**********
1) Avant de lancer la macro, il faut sélectionner au moins 2 feuilles (par clic gauche avec Ctrl appuyée ET maintenue) 2) Une boîte demande de sélectionner une plage 3) Si différences constatées, le programme stoppe et affiche deux feuilles log où apparaissent les différences. 4) Dans ce cas et après correction, refaire la même manipulation pour contrôler les autres feuilles (dans la mesure où plus de 2 feuilles sont à contrôler)
Cordialement.
-- PMO Patrick Morange
Bonjour a tous,
j'ai la formule suivante =SOMME(SI(NB.SI($B$67:$B$83;$H$67:$H$83)=0;1;0))
qui me compare 2 plage et qui m'indique le nombre de cellule qui son differente.
mais le probleme c'est qu'il me fadrait une formule semblable a l'aide d'une macro et qui peu comparer plus de 2 cellule, Car cette formule ne peu en comparer plus de 2 :(
j'aimerai qu'il me compare les 4 feuilles et qui me ramene sur un autre feuille les cellule A1 et A2 de la feuil3 car il ne son pas parreil au autre feuilles
est-ce possible ??? merci de votre aide
Merci pour la piste PMO c'est excellent :)
"PMO" <patrickPOINTmorangeAROBASElapostePOINTnet> a écrit dans le message de
news: 40579F3A-13A2-492B-8008-46E302C563E5@microsoft.com...
Bonjour,
Une piste avec le code ci-dessous à copier dans un
module standard.
'**********
Sub PMO_CompareCellules()
Dim S As Worksheet
Dim R As Range
Dim var1
Dim var2
Dim i&
Dim j&
Dim k&
Dim bool As Boolean
Dim nom1$
Dim nom2$
With ActiveWindow
If .SelectedSheets.Count = 1 Then
MsgBox "Veuillez sélectionner plusieurs feuilles." & _
vbCrLf & vbCrLf & _
"Maintenez la touche Ctrl pour ce faire."
Exit Sub
End If
On Error GoTo fin
Set R = Application.InputBox( _
prompt:="Sélectionnez une plage.", Type:=8)
For k& = 2 To .SelectedSheets.Count
bool = False
var1 = .SelectedSheets(k& - 1).Range(R.Address)
var2 = .SelectedSheets(k&).Range(R.Address)
For i& = 1 To UBound(var1, 1)
For j& = 1 To UBound(var1, 2)
If var1(i&, j&) = var2(i&, j&) Then
var1(i&, j&) = ""
var2(i&, j&) = ""
Else
nom1$ = .SelectedSheets(k& - 1).Name
nom2$ = .SelectedSheets(k&).Name
bool = True
End If
Next j&
Next i&
If bool Then
Sheets(nom1$).Select
Set S = Sheets.Add(after:=Sheets(Sheets.Count))
S.Range(R.Address) = var1
S.Name = nom1$ & "_log"
Set S = Sheets.Add
S.Range(R.Address) = var2
S.Name = nom2$ & "_log"
MsgBox "Différences constatées. Programme stoppé."
Exit Sub
End If
Next k&
End With
MsgBox "Aucune différence. Terminé."
fin:
End Sub
'**********
1) Avant de lancer la macro, il faut sélectionner au moins 2 feuilles
(par clic gauche avec Ctrl appuyée ET maintenue)
2) Une boîte demande de sélectionner une plage
3) Si différences constatées, le programme stoppe et affiche
deux feuilles log où apparaissent les différences.
4) Dans ce cas et après correction, refaire la même manipulation
pour contrôler les autres feuilles (dans la mesure où plus de
2 feuilles sont à contrôler)
Cordialement.
--
PMO
Patrick Morange
Bonjour a tous,
j'ai la formule suivante =SOMME(SI(NB.SI($B$67:$B$83;$H$67:$H$83)=0;1;0))
qui me compare 2 plage et qui m'indique le nombre de cellule qui son
differente.
mais le probleme c'est qu'il me fadrait une formule semblable a l'aide
d'une
macro et qui peu comparer plus de 2 cellule, Car cette formule ne peu en
comparer plus de 2 :(
j'aimerai qu'il me compare les 4 feuilles et qui me ramene sur un autre
feuille les cellule A1 et A2 de la feuil3 car il ne son pas parreil au
autre
feuilles
"PMO" <patrickPOINTmorangeAROBASElapostePOINTnet> a écrit dans le message de news:
Bonjour,
Une piste avec le code ci-dessous à copier dans un module standard.
'********** Sub PMO_CompareCellules() Dim S As Worksheet Dim R As Range Dim var1 Dim var2 Dim i& Dim j& Dim k& Dim bool As Boolean Dim nom1$ Dim nom2$ With ActiveWindow If .SelectedSheets.Count = 1 Then MsgBox "Veuillez sélectionner plusieurs feuilles." & _ vbCrLf & vbCrLf & _ "Maintenez la touche Ctrl pour ce faire." Exit Sub End If On Error GoTo fin Set R = Application.InputBox( _ prompt:="Sélectionnez une plage.", Type:=8) For k& = 2 To .SelectedSheets.Count bool = False var1 = .SelectedSheets(k& - 1).Range(R.Address) var2 = .SelectedSheets(k&).Range(R.Address) For i& = 1 To UBound(var1, 1) For j& = 1 To UBound(var1, 2) If var1(i&, j&) = var2(i&, j&) Then var1(i&, j&) = "" var2(i&, j&) = "" Else nom1$ = .SelectedSheets(k& - 1).Name nom2$ = .SelectedSheets(k&).Name bool = True End If Next j& Next i& If bool Then Sheets(nom1$).Select Set S = Sheets.Add(after:=Sheets(Sheets.Count)) S.Range(R.Address) = var1 S.Name = nom1$ & "_log" Set S = Sheets.Add S.Range(R.Address) = var2 S.Name = nom2$ & "_log" MsgBox "Différences constatées. Programme stoppé." Exit Sub End If Next k& End With MsgBox "Aucune différence. Terminé." fin: End Sub '**********
1) Avant de lancer la macro, il faut sélectionner au moins 2 feuilles (par clic gauche avec Ctrl appuyée ET maintenue) 2) Une boîte demande de sélectionner une plage 3) Si différences constatées, le programme stoppe et affiche deux feuilles log où apparaissent les différences. 4) Dans ce cas et après correction, refaire la même manipulation pour contrôler les autres feuilles (dans la mesure où plus de 2 feuilles sont à contrôler)
Cordialement.
-- PMO Patrick Morange
Bonjour a tous,
j'ai la formule suivante =SOMME(SI(NB.SI($B$67:$B$83;$H$67:$H$83)=0;1;0))
qui me compare 2 plage et qui m'indique le nombre de cellule qui son differente.
mais le probleme c'est qu'il me fadrait une formule semblable a l'aide d'une macro et qui peu comparer plus de 2 cellule, Car cette formule ne peu en comparer plus de 2 :(
j'aimerai qu'il me compare les 4 feuilles et qui me ramene sur un autre feuille les cellule A1 et A2 de la feuil3 car il ne son pas parreil au autre feuilles