xlByRows, xlPrevious).Row"
Bonjour Nathalie,
Voici ! J'ai utilisé le filtre élaboré.
J'utilise temporairement la colonne "X" et les cellules Z1:Z2 pour les critères. Si ces cellules ne sont pas
disponibles, il faut les remplaces dans la procédure, il en est de même pour la colonne X.
La ligne 1 doit avoir des étiquettes de colonnes.
J'ai supposé que les données débutaient en ligne 2
Copie ceci dans un module standard, et teste là.
'-----------------------
Sub MettreAJourLes2Feuilles()
Dim Lig As Long, Rg As Range
Dim Arr()
Arr = Array("Recherches", "Données")
For Each N In Arr
With Worksheets(N)
Lig = .Cells.Find("*", , xlFormulas, , _
xlByRows, xlPrevious).Row
'Zone de critère : Z1:Z2 'à adapter au besoin
.Range("Z1") = ""
.Range("Z2").Formula = "=countif(" & _
.Range("X1:X" & Lig).Address(0, 0) & ",X2)>1"
.Range("X1:X" & Lig).Formula = "±&G1&I1"
With .Range("X1:X" & Lig)
Set Rg = .Offset(1).Resize(.Rows.Count - 1)
.AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=Worksheets(N).Range("Z1:Z2"), _
Unique:=True
On Error Resume Next
Set Rg = Rg.SpecialCells(xlCellTypeVisible)
Rg.EntireRow.Delete (xlUp)
End With
.ShowAllData
.Range("X1:X" & Lig).Clear
.Range("Z2").Clear
End With
Next
Set Rg = Nothing
End Sub
'----------------------------
Salutations!
"Nathalie" a écrit dans le message de
news:
Bonjour à tous !
Voici mon problème, j'ai une feuille de données sur laquelle il y a 12
colonnes, les colonnes critères sont : b, g, et i.
J'ai une feuille "données" et une feuille "recherches" qui contiennent
les mêmes données.
Sur la feuille "recherches", une macro permet de copier une ligne et
de l'envoyer dans un formulaire (encore une autre feuille), certaines
colonnes de la ligne sont ainsi complétées, mais pas forcément toutes.
(Ce fichier excel est partagé entre 10 personnes, aussi je ne peux pas
permettre de couper la ligne au lieu de copier car je fausse les
données pour les autres.)
La ligne est ensuite renvoyée (à l'aide d'une macro) dans les feuilles
"données" et "recherches" et se place à la suite de la dernière
entrée, mais elle devient un doublon (forcément la ligne qui a été
copiée au départ est toujours là mais il faut maintenant la supprimer
car elle n'est plus complète.
Ce que je souhaite faire c'est comparer à l'aide d'une macro (car cela
doit se faire systématiquement et automatiquement) les trois colonnes
b, g, et i pour retrouver les doublons et supprimer l'ancienne ligne
pour les deux feuilles.
J'ai bidouiller comme j'ai pu, mais je ne trouve pas de solutions,
quelqu'un peut-il m'aider ?
Par avance, merci !!!!!!
Nathalie
xlByRows, xlPrevious).Row"
Bonjour Nathalie,
Voici ! J'ai utilisé le filtre élaboré.
J'utilise temporairement la colonne "X" et les cellules Z1:Z2 pour les critères. Si ces cellules ne sont pas
disponibles, il faut les remplaces dans la procédure, il en est de même pour la colonne X.
La ligne 1 doit avoir des étiquettes de colonnes.
J'ai supposé que les données débutaient en ligne 2
Copie ceci dans un module standard, et teste là.
'-----------------------
Sub MettreAJourLes2Feuilles()
Dim Lig As Long, Rg As Range
Dim Arr()
Arr = Array("Recherches", "Données")
For Each N In Arr
With Worksheets(N)
Lig = .Cells.Find("*", , xlFormulas, , _
xlByRows, xlPrevious).Row
'Zone de critère : Z1:Z2 'à adapter au besoin
.Range("Z1") = ""
.Range("Z2").Formula = "=countif(" & _
.Range("X1:X" & Lig).Address(0, 0) & ",X2)>1"
.Range("X1:X" & Lig).Formula = "±&G1&I1"
With .Range("X1:X" & Lig)
Set Rg = .Offset(1).Resize(.Rows.Count - 1)
.AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=Worksheets(N).Range("Z1:Z2"), _
Unique:=True
On Error Resume Next
Set Rg = Rg.SpecialCells(xlCellTypeVisible)
Rg.EntireRow.Delete (xlUp)
End With
.ShowAllData
.Range("X1:X" & Lig).Clear
.Range("Z2").Clear
End With
Next
Set Rg = Nothing
End Sub
'----------------------------
Salutations!
"Nathalie" <nathphil.montion@sympatico.ca> a écrit dans le message de
news:1d98ff5f.0405191141.412846fa@posting.google.com...
Bonjour à tous !
Voici mon problème, j'ai une feuille de données sur laquelle il y a 12
colonnes, les colonnes critères sont : b, g, et i.
J'ai une feuille "données" et une feuille "recherches" qui contiennent
les mêmes données.
Sur la feuille "recherches", une macro permet de copier une ligne et
de l'envoyer dans un formulaire (encore une autre feuille), certaines
colonnes de la ligne sont ainsi complétées, mais pas forcément toutes.
(Ce fichier excel est partagé entre 10 personnes, aussi je ne peux pas
permettre de couper la ligne au lieu de copier car je fausse les
données pour les autres.)
La ligne est ensuite renvoyée (à l'aide d'une macro) dans les feuilles
"données" et "recherches" et se place à la suite de la dernière
entrée, mais elle devient un doublon (forcément la ligne qui a été
copiée au départ est toujours là mais il faut maintenant la supprimer
car elle n'est plus complète.
Ce que je souhaite faire c'est comparer à l'aide d'une macro (car cela
doit se faire systématiquement et automatiquement) les trois colonnes
b, g, et i pour retrouver les doublons et supprimer l'ancienne ligne
pour les deux feuilles.
J'ai bidouiller comme j'ai pu, mais je ne trouve pas de solutions,
quelqu'un peut-il m'aider ?
Par avance, merci !!!!!!
Nathalie
xlByRows, xlPrevious).Row"
Bonjour Nathalie,
Voici ! J'ai utilisé le filtre élaboré.
J'utilise temporairement la colonne "X" et les cellules Z1:Z2 pour les critères. Si ces cellules ne sont pas
disponibles, il faut les remplaces dans la procédure, il en est de même pour la colonne X.
La ligne 1 doit avoir des étiquettes de colonnes.
J'ai supposé que les données débutaient en ligne 2
Copie ceci dans un module standard, et teste là.
'-----------------------
Sub MettreAJourLes2Feuilles()
Dim Lig As Long, Rg As Range
Dim Arr()
Arr = Array("Recherches", "Données")
For Each N In Arr
With Worksheets(N)
Lig = .Cells.Find("*", , xlFormulas, , _
xlByRows, xlPrevious).Row
'Zone de critère : Z1:Z2 'à adapter au besoin
.Range("Z1") = ""
.Range("Z2").Formula = "=countif(" & _
.Range("X1:X" & Lig).Address(0, 0) & ",X2)>1"
.Range("X1:X" & Lig).Formula = "±&G1&I1"
With .Range("X1:X" & Lig)
Set Rg = .Offset(1).Resize(.Rows.Count - 1)
.AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=Worksheets(N).Range("Z1:Z2"), _
Unique:=True
On Error Resume Next
Set Rg = Rg.SpecialCells(xlCellTypeVisible)
Rg.EntireRow.Delete (xlUp)
End With
.ShowAllData
.Range("X1:X" & Lig).Clear
.Range("Z2").Clear
End With
Next
Set Rg = Nothing
End Sub
'----------------------------
Salutations!
"Nathalie" a écrit dans le message de
news:
Bonjour à tous !
Voici mon problème, j'ai une feuille de données sur laquelle il y a 12
colonnes, les colonnes critères sont : b, g, et i.
J'ai une feuille "données" et une feuille "recherches" qui contiennent
les mêmes données.
Sur la feuille "recherches", une macro permet de copier une ligne et
de l'envoyer dans un formulaire (encore une autre feuille), certaines
colonnes de la ligne sont ainsi complétées, mais pas forcément toutes.
(Ce fichier excel est partagé entre 10 personnes, aussi je ne peux pas
permettre de couper la ligne au lieu de copier car je fausse les
données pour les autres.)
La ligne est ensuite renvoyée (à l'aide d'une macro) dans les feuilles
"données" et "recherches" et se place à la suite de la dernière
entrée, mais elle devient un doublon (forcément la ligne qui a été
copiée au départ est toujours là mais il faut maintenant la supprimer
car elle n'est plus complète.
Ce que je souhaite faire c'est comparer à l'aide d'une macro (car cela
doit se faire systématiquement et automatiquement) les trois colonnes
b, g, et i pour retrouver les doublons et supprimer l'ancienne ligne
pour les deux feuilles.
J'ai bidouiller comme j'ai pu, mais je ne trouve pas de solutions,
quelqu'un peut-il m'aider ?
Par avance, merci !!!!!!
Nathalie
xlByRows, xlPrevious).Row"
Bonjour Nathalie,
Voici ! J'ai utilisé le filtre élaboré.
J'utilise temporairement la colonne "X" et les cellules Z1:Z2 pour les critères. Si ces cellules ne sont pas
disponibles, il faut les remplaces dans la procédure, il en est de même pour la colonne X.
La ligne 1 doit avoir des étiquettes de colonnes.
J'ai supposé que les données débutaient en ligne 2
Copie ceci dans un module standard, et teste là.
'-----------------------
Sub MettreAJourLes2Feuilles()
Dim Lig As Long, Rg As Range
Dim Arr()
Arr = Array("Recherches", "Données")
For Each N In Arr
With Worksheets(N)
Lig = .Cells.Find("*", , xlFormulas, , _
xlByRows, xlPrevious).Row
'Zone de critère : Z1:Z2 'à adapter au besoin
.Range("Z1") = ""
.Range("Z2").Formula = "=countif(" & _
.Range("X1:X" & Lig).Address(0, 0) & ",X2)>1"
.Range("X1:X" & Lig).Formula = "±&G1&I1"
With .Range("X1:X" & Lig)
Set Rg = .Offset(1).Resize(.Rows.Count - 1)
.AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=Worksheets(N).Range("Z1:Z2"), _
Unique:=True
On Error Resume Next
Set Rg = Rg.SpecialCells(xlCellTypeVisible)
Rg.EntireRow.Delete (xlUp)
End With
.ShowAllData
.Range("X1:X" & Lig).Clear
.Range("Z2").Clear
End With
Next
Set Rg = Nothing
End Sub
'----------------------------
Salutations!
"Nathalie" a écrit dans le message de
news:
Bonjour à tous !
Voici mon problème, j'ai une feuille de données sur laquelle il y a 12
colonnes, les colonnes critères sont : b, g, et i.
J'ai une feuille "données" et une feuille "recherches" qui contiennent
les mêmes données.
Sur la feuille "recherches", une macro permet de copier une ligne et
de l'envoyer dans un formulaire (encore une autre feuille), certaines
colonnes de la ligne sont ainsi complétées, mais pas forcément toutes.
(Ce fichier excel est partagé entre 10 personnes, aussi je ne peux pas
permettre de couper la ligne au lieu de copier car je fausse les
données pour les autres.)
La ligne est ensuite renvoyée (à l'aide d'une macro) dans les feuilles
"données" et "recherches" et se place à la suite de la dernière
entrée, mais elle devient un doublon (forcément la ligne qui a été
copiée au départ est toujours là mais il faut maintenant la supprimer
car elle n'est plus complète.
Ce que je souhaite faire c'est comparer à l'aide d'une macro (car cela
doit se faire systématiquement et automatiquement) les trois colonnes
b, g, et i pour retrouver les doublons et supprimer l'ancienne ligne
pour les deux feuilles.
J'ai bidouiller comme j'ai pu, mais je ne trouve pas de solutions,
quelqu'un peut-il m'aider ?
Par avance, merci !!!!!!
Nathalie
xlByRows, xlPrevious).Row"
Bonjour Nathalie,
Voici ! J'ai utilisé le filtre élaboré.
J'utilise temporairement la colonne "X" et les cellules Z1:Z2 pour les critères. Si ces cellules ne sont pas
disponibles, il faut les remplaces dans la procédure, il en est de même pour la colonne X.
La ligne 1 doit avoir des étiquettes de colonnes.
J'ai supposé que les données débutaient en ligne 2
Copie ceci dans un module standard, et teste là.
'-----------------------
Sub MettreAJourLes2Feuilles()
Dim Lig As Long, Rg As Range
Dim Arr()
Arr = Array("Recherches", "Données")
For Each N In Arr
With Worksheets(N)
Lig = .Cells.Find("*", , xlFormulas, , _
xlByRows, xlPrevious).Row
'Zone de critère : Z1:Z2 'à adapter au besoin
.Range("Z1") = ""
.Range("Z2").Formula = "=countif(" & _
.Range("X1:X" & Lig).Address(0, 0) & ",X2)>1"
.Range("X1:X" & Lig).Formula = "±&G1&I1"
With .Range("X1:X" & Lig)
Set Rg = .Offset(1).Resize(.Rows.Count - 1)
.AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=Worksheets(N).Range("Z1:Z2"), _
Unique:=True
On Error Resume Next
Set Rg = Rg.SpecialCells(xlCellTypeVisible)
Rg.EntireRow.Delete (xlUp)
End With
.ShowAllData
.Range("X1:X" & Lig).Clear
.Range("Z2").Clear
End With
Next
Set Rg = Nothing
End Sub
'----------------------------
Salutations!
"Nathalie" <nathphil.montion@sympatico.ca> a écrit dans le message de
news:1d98ff5f.0405191141.412846fa@posting.google.com...
Bonjour à tous !
Voici mon problème, j'ai une feuille de données sur laquelle il y a 12
colonnes, les colonnes critères sont : b, g, et i.
J'ai une feuille "données" et une feuille "recherches" qui contiennent
les mêmes données.
Sur la feuille "recherches", une macro permet de copier une ligne et
de l'envoyer dans un formulaire (encore une autre feuille), certaines
colonnes de la ligne sont ainsi complétées, mais pas forcément toutes.
(Ce fichier excel est partagé entre 10 personnes, aussi je ne peux pas
permettre de couper la ligne au lieu de copier car je fausse les
données pour les autres.)
La ligne est ensuite renvoyée (à l'aide d'une macro) dans les feuilles
"données" et "recherches" et se place à la suite de la dernière
entrée, mais elle devient un doublon (forcément la ligne qui a été
copiée au départ est toujours là mais il faut maintenant la supprimer
car elle n'est plus complète.
Ce que je souhaite faire c'est comparer à l'aide d'une macro (car cela
doit se faire systématiquement et automatiquement) les trois colonnes
b, g, et i pour retrouver les doublons et supprimer l'ancienne ligne
pour les deux feuilles.
J'ai bidouiller comme j'ai pu, mais je ne trouve pas de solutions,
quelqu'un peut-il m'aider ?
Par avance, merci !!!!!!
Nathalie
xlByRows, xlPrevious).Row"
Bonjour Nathalie,
Voici ! J'ai utilisé le filtre élaboré.
J'utilise temporairement la colonne "X" et les cellules Z1:Z2 pour les critères. Si ces cellules ne sont pas
disponibles, il faut les remplaces dans la procédure, il en est de même pour la colonne X.
La ligne 1 doit avoir des étiquettes de colonnes.
J'ai supposé que les données débutaient en ligne 2
Copie ceci dans un module standard, et teste là.
'-----------------------
Sub MettreAJourLes2Feuilles()
Dim Lig As Long, Rg As Range
Dim Arr()
Arr = Array("Recherches", "Données")
For Each N In Arr
With Worksheets(N)
Lig = .Cells.Find("*", , xlFormulas, , _
xlByRows, xlPrevious).Row
'Zone de critère : Z1:Z2 'à adapter au besoin
.Range("Z1") = ""
.Range("Z2").Formula = "=countif(" & _
.Range("X1:X" & Lig).Address(0, 0) & ",X2)>1"
.Range("X1:X" & Lig).Formula = "±&G1&I1"
With .Range("X1:X" & Lig)
Set Rg = .Offset(1).Resize(.Rows.Count - 1)
.AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=Worksheets(N).Range("Z1:Z2"), _
Unique:=True
On Error Resume Next
Set Rg = Rg.SpecialCells(xlCellTypeVisible)
Rg.EntireRow.Delete (xlUp)
End With
.ShowAllData
.Range("X1:X" & Lig).Clear
.Range("Z2").Clear
End With
Next
Set Rg = Nothing
End Sub
'----------------------------
Salutations!
"Nathalie" a écrit dans le message de
news:
Bonjour à tous !
Voici mon problème, j'ai une feuille de données sur laquelle il y a 12
colonnes, les colonnes critères sont : b, g, et i.
J'ai une feuille "données" et une feuille "recherches" qui contiennent
les mêmes données.
Sur la feuille "recherches", une macro permet de copier une ligne et
de l'envoyer dans un formulaire (encore une autre feuille), certaines
colonnes de la ligne sont ainsi complétées, mais pas forcément toutes.
(Ce fichier excel est partagé entre 10 personnes, aussi je ne peux pas
permettre de couper la ligne au lieu de copier car je fausse les
données pour les autres.)
La ligne est ensuite renvoyée (à l'aide d'une macro) dans les feuilles
"données" et "recherches" et se place à la suite de la dernière
entrée, mais elle devient un doublon (forcément la ligne qui a été
copiée au départ est toujours là mais il faut maintenant la supprimer
car elle n'est plus complète.
Ce que je souhaite faire c'est comparer à l'aide d'une macro (car cela
doit se faire systématiquement et automatiquement) les trois colonnes
b, g, et i pour retrouver les doublons et supprimer l'ancienne ligne
pour les deux feuilles.
J'ai bidouiller comme j'ai pu, mais je ne trouve pas de solutions,
quelqu'un peut-il m'aider ?
Par avance, merci !!!!!!
Nathalie