j'ai une feuille avec des dates sur la ligne 1 et des données (jusqu'à la
ligne 30 en dessous qui correspondent à cette date. Chaque jour, ce fichier
est update par une incrementation de la derniere colonne avec une nvelle date
et les données qui correspondent.
Ce que je voudrais, c'est un macro qui supprime la colonne d'une date si
elle est en double, cad si 2 colonnes ont la même date, le macro supprime la
colonne la plus à droite.
quelquun pourrait me proposer un code? car je n'est vraiement aucune idée ...
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
Daniel
Bonjour. Tu peux essayer le code suivant (les dates sont en A1:G1):
Sub Test() Dim c As Range, Var As Integer, Ctr As Integer, i As Integer For Each c In Range("A1:G1") Var = WorksheetFunction.CountIf(Range("a1:g1"), c.Value) If Var <> 1 Then Ctr = 1 i = 1 Do Until Ctr = 2 Var1 = c.Value Var2 = c.Offset(0, i).Value If c.Value = c.Offset(0, i).Value Then Ctr = 2 c.Offset(0, i).EntireColumn.Delete End If i = i + 1 Loop End If Next c End Sub
Cordialement. Daniel "serge" a écrit dans le message de news:
bonjour,
j'ai une feuille avec des dates sur la ligne 1 et des données (jusqu'à la ligne 30 en dessous qui correspondent à cette date. Chaque jour, ce fichier est update par une incrementation de la derniere colonne avec une nvelle date et les données qui correspondent. Ce que je voudrais, c'est un macro qui supprime la colonne d'une date si elle est en double, cad si 2 colonnes ont la même date, le macro supprime la colonne la plus à droite. quelquun pourrait me proposer un code? car je n'est vraiement aucune idée ...
merci encore,
Serge
Bonjour.
Tu peux essayer le code suivant (les dates sont en A1:G1):
Sub Test()
Dim c As Range, Var As Integer, Ctr As Integer, i As Integer
For Each c In Range("A1:G1")
Var = WorksheetFunction.CountIf(Range("a1:g1"), c.Value)
If Var <> 1 Then
Ctr = 1
i = 1
Do Until Ctr = 2
Var1 = c.Value
Var2 = c.Offset(0, i).Value
If c.Value = c.Offset(0, i).Value Then
Ctr = 2
c.Offset(0, i).EntireColumn.Delete
End If
i = i + 1
Loop
End If
Next c
End Sub
Cordialement.
Daniel
"serge" <serge@discussions.microsoft.com> a écrit dans le message de news:
9528D4AE-567F-4BB3-9E9D-6716FB4C2D2B@microsoft.com...
bonjour,
j'ai une feuille avec des dates sur la ligne 1 et des données (jusqu'à la
ligne 30 en dessous qui correspondent à cette date. Chaque jour, ce
fichier
est update par une incrementation de la derniere colonne avec une nvelle
date
et les données qui correspondent.
Ce que je voudrais, c'est un macro qui supprime la colonne d'une date si
elle est en double, cad si 2 colonnes ont la même date, le macro supprime
la
colonne la plus à droite.
quelquun pourrait me proposer un code? car je n'est vraiement aucune idée
...
Bonjour. Tu peux essayer le code suivant (les dates sont en A1:G1):
Sub Test() Dim c As Range, Var As Integer, Ctr As Integer, i As Integer For Each c In Range("A1:G1") Var = WorksheetFunction.CountIf(Range("a1:g1"), c.Value) If Var <> 1 Then Ctr = 1 i = 1 Do Until Ctr = 2 Var1 = c.Value Var2 = c.Offset(0, i).Value If c.Value = c.Offset(0, i).Value Then Ctr = 2 c.Offset(0, i).EntireColumn.Delete End If i = i + 1 Loop End If Next c End Sub
Cordialement. Daniel "serge" a écrit dans le message de news:
bonjour,
j'ai une feuille avec des dates sur la ligne 1 et des données (jusqu'à la ligne 30 en dessous qui correspondent à cette date. Chaque jour, ce fichier est update par une incrementation de la derniere colonne avec une nvelle date et les données qui correspondent. Ce que je voudrais, c'est un macro qui supprime la colonne d'une date si elle est en double, cad si 2 colonnes ont la même date, le macro supprime la colonne la plus à droite. quelquun pourrait me proposer un code? car je n'est vraiement aucune idée ...
merci encore,
Serge
serge
Je suis dessus mais ca ne marche pas. j'ai l'erreur suivante : "application-defined or object-defined error" à la ligne commençant par var2. voici mon code : Sub Macro4() Sheets("rev").Select Dim c As Range, Var As Integer, Ctr As Integer, i As Integer For Each c In Range("B1:G1") Var = WorksheetFunction.CountIf(Range("B1:g1"), c.Value) If Var <> 1 Then Ctr = 1 i = 1 Do Until Ctr = 2 Var1 = c.Value Var2 = c.Offset(0, i).Value If c.Value = c.Offset(0, i).Value Then Ctr = 2 c.Offset(0, i).EntireColumn.Delete End If i = i + 1 Loop End If Next c
End Sub
Merci d'avance, Harold
"Daniel" wrote:
Bonjour. Tu peux essayer le code suivant (les dates sont en A1:G1):
Sub Test() Dim c As Range, Var As Integer, Ctr As Integer, i As Integer For Each c In Range("A1:G1") Var = WorksheetFunction.CountIf(Range("a1:g1"), c.Value) If Var <> 1 Then Ctr = 1 i = 1 Do Until Ctr = 2 Var1 = c.Value Var2 = c.Offset(0, i).Value If c.Value = c.Offset(0, i).Value Then Ctr = 2 c.Offset(0, i).EntireColumn.Delete End If i = i + 1 Loop End If Next c End Sub
Cordialement. Daniel "serge" a écrit dans le message de news:
bonjour,
j'ai une feuille avec des dates sur la ligne 1 et des données (jusqu'à la ligne 30 en dessous qui correspondent à cette date. Chaque jour, ce fichier est update par une incrementation de la derniere colonne avec une nvelle date et les données qui correspondent. Ce que je voudrais, c'est un macro qui supprime la colonne d'une date si elle est en double, cad si 2 colonnes ont la même date, le macro supprime la colonne la plus à droite. quelquun pourrait me proposer un code? car je n'est vraiement aucune idée ...
merci encore,
Serge
Je suis dessus mais ca ne marche pas.
j'ai l'erreur suivante :
"application-defined or object-defined error" à la ligne commençant par var2.
voici mon code :
Sub Macro4()
Sheets("rev").Select
Dim c As Range, Var As Integer, Ctr As Integer, i As Integer
For Each c In Range("B1:G1")
Var = WorksheetFunction.CountIf(Range("B1:g1"), c.Value)
If Var <> 1 Then
Ctr = 1
i = 1
Do Until Ctr = 2
Var1 = c.Value
Var2 = c.Offset(0, i).Value
If c.Value = c.Offset(0, i).Value Then
Ctr = 2
c.Offset(0, i).EntireColumn.Delete
End If
i = i + 1
Loop
End If
Next c
End Sub
Merci d'avance,
Harold
"Daniel" wrote:
Bonjour.
Tu peux essayer le code suivant (les dates sont en A1:G1):
Sub Test()
Dim c As Range, Var As Integer, Ctr As Integer, i As Integer
For Each c In Range("A1:G1")
Var = WorksheetFunction.CountIf(Range("a1:g1"), c.Value)
If Var <> 1 Then
Ctr = 1
i = 1
Do Until Ctr = 2
Var1 = c.Value
Var2 = c.Offset(0, i).Value
If c.Value = c.Offset(0, i).Value Then
Ctr = 2
c.Offset(0, i).EntireColumn.Delete
End If
i = i + 1
Loop
End If
Next c
End Sub
Cordialement.
Daniel
"serge" <serge@discussions.microsoft.com> a écrit dans le message de news:
9528D4AE-567F-4BB3-9E9D-6716FB4C2D2B@microsoft.com...
bonjour,
j'ai une feuille avec des dates sur la ligne 1 et des données (jusqu'à la
ligne 30 en dessous qui correspondent à cette date. Chaque jour, ce
fichier
est update par une incrementation de la derniere colonne avec une nvelle
date
et les données qui correspondent.
Ce que je voudrais, c'est un macro qui supprime la colonne d'une date si
elle est en double, cad si 2 colonnes ont la même date, le macro supprime
la
colonne la plus à droite.
quelquun pourrait me proposer un code? car je n'est vraiement aucune idée
...
Je suis dessus mais ca ne marche pas. j'ai l'erreur suivante : "application-defined or object-defined error" à la ligne commençant par var2. voici mon code : Sub Macro4() Sheets("rev").Select Dim c As Range, Var As Integer, Ctr As Integer, i As Integer For Each c In Range("B1:G1") Var = WorksheetFunction.CountIf(Range("B1:g1"), c.Value) If Var <> 1 Then Ctr = 1 i = 1 Do Until Ctr = 2 Var1 = c.Value Var2 = c.Offset(0, i).Value If c.Value = c.Offset(0, i).Value Then Ctr = 2 c.Offset(0, i).EntireColumn.Delete End If i = i + 1 Loop End If Next c
End Sub
Merci d'avance, Harold
"Daniel" wrote:
Bonjour. Tu peux essayer le code suivant (les dates sont en A1:G1):
Sub Test() Dim c As Range, Var As Integer, Ctr As Integer, i As Integer For Each c In Range("A1:G1") Var = WorksheetFunction.CountIf(Range("a1:g1"), c.Value) If Var <> 1 Then Ctr = 1 i = 1 Do Until Ctr = 2 Var1 = c.Value Var2 = c.Offset(0, i).Value If c.Value = c.Offset(0, i).Value Then Ctr = 2 c.Offset(0, i).EntireColumn.Delete End If i = i + 1 Loop End If Next c End Sub
Cordialement. Daniel "serge" a écrit dans le message de news:
bonjour,
j'ai une feuille avec des dates sur la ligne 1 et des données (jusqu'à la ligne 30 en dessous qui correspondent à cette date. Chaque jour, ce fichier est update par une incrementation de la derniere colonne avec une nvelle date et les données qui correspondent. Ce que je voudrais, c'est un macro qui supprime la colonne d'une date si elle est en double, cad si 2 colonnes ont la même date, le macro supprime la colonne la plus à droite. quelquun pourrait me proposer un code? car je n'est vraiement aucune idée ...
merci encore,
Serge
Daniel
Excuse-moi. Tu peux supprimer les lignes comportant les variables Var1 et Var2 qui n'ont servi quà la mise au point. Daniel "serge" a écrit dans le message de news:
Je suis dessus mais ca ne marche pas. j'ai l'erreur suivante : "application-defined or object-defined error" à la ligne commençant par var2. voici mon code : Sub Macro4() Sheets("rev").Select Dim c As Range, Var As Integer, Ctr As Integer, i As Integer For Each c In Range("B1:G1") Var = WorksheetFunction.CountIf(Range("B1:g1"), c.Value) If Var <> 1 Then Ctr = 1 i = 1 Do Until Ctr = 2 Var1 = c.Value Var2 = c.Offset(0, i).Value If c.Value = c.Offset(0, i).Value Then Ctr = 2 c.Offset(0, i).EntireColumn.Delete End If i = i + 1 Loop End If Next c
End Sub
Merci d'avance, Harold
"Daniel" wrote:
Bonjour. Tu peux essayer le code suivant (les dates sont en A1:G1):
Sub Test() Dim c As Range, Var As Integer, Ctr As Integer, i As Integer For Each c In Range("A1:G1") Var = WorksheetFunction.CountIf(Range("a1:g1"), c.Value) If Var <> 1 Then Ctr = 1 i = 1 Do Until Ctr = 2 Var1 = c.Value Var2 = c.Offset(0, i).Value If c.Value = c.Offset(0, i).Value Then Ctr = 2 c.Offset(0, i).EntireColumn.Delete End If i = i + 1 Loop End If Next c End Sub
Cordialement. Daniel "serge" a écrit dans le message de news:
bonjour,
j'ai une feuille avec des dates sur la ligne 1 et des données (jusqu'à la ligne 30 en dessous qui correspondent à cette date. Chaque jour, ce fichier est update par une incrementation de la derniere colonne avec une nvelle date et les données qui correspondent. Ce que je voudrais, c'est un macro qui supprime la colonne d'une date si elle est en double, cad si 2 colonnes ont la même date, le macro supprime la colonne la plus à droite. quelquun pourrait me proposer un code? car je n'est vraiement aucune idée ...
merci encore,
Serge
Excuse-moi. Tu peux supprimer les lignes comportant les variables Var1 et
Var2 qui n'ont servi quà la mise au point.
Daniel
"serge" <serge@discussions.microsoft.com> a écrit dans le message de news:
45DA5A87-15B0-4F33-9B2C-4600F4A88F3E@microsoft.com...
Je suis dessus mais ca ne marche pas.
j'ai l'erreur suivante :
"application-defined or object-defined error" à la ligne commençant par
var2.
voici mon code :
Sub Macro4()
Sheets("rev").Select
Dim c As Range, Var As Integer, Ctr As Integer, i As Integer
For Each c In Range("B1:G1")
Var = WorksheetFunction.CountIf(Range("B1:g1"), c.Value)
If Var <> 1 Then
Ctr = 1
i = 1
Do Until Ctr = 2
Var1 = c.Value
Var2 = c.Offset(0, i).Value
If c.Value = c.Offset(0, i).Value Then
Ctr = 2
c.Offset(0, i).EntireColumn.Delete
End If
i = i + 1
Loop
End If
Next c
End Sub
Merci d'avance,
Harold
"Daniel" wrote:
Bonjour.
Tu peux essayer le code suivant (les dates sont en A1:G1):
Sub Test()
Dim c As Range, Var As Integer, Ctr As Integer, i As Integer
For Each c In Range("A1:G1")
Var = WorksheetFunction.CountIf(Range("a1:g1"), c.Value)
If Var <> 1 Then
Ctr = 1
i = 1
Do Until Ctr = 2
Var1 = c.Value
Var2 = c.Offset(0, i).Value
If c.Value = c.Offset(0, i).Value Then
Ctr = 2
c.Offset(0, i).EntireColumn.Delete
End If
i = i + 1
Loop
End If
Next c
End Sub
Cordialement.
Daniel
"serge" <serge@discussions.microsoft.com> a écrit dans le message de
news:
9528D4AE-567F-4BB3-9E9D-6716FB4C2D2B@microsoft.com...
bonjour,
j'ai une feuille avec des dates sur la ligne 1 et des données (jusqu'à
la
ligne 30 en dessous qui correspondent à cette date. Chaque jour, ce
fichier
est update par une incrementation de la derniere colonne avec une
nvelle
date
et les données qui correspondent.
Ce que je voudrais, c'est un macro qui supprime la colonne d'une date
si
elle est en double, cad si 2 colonnes ont la même date, le macro
supprime
la
colonne la plus à droite.
quelquun pourrait me proposer un code? car je n'est vraiement aucune
idée
...
Excuse-moi. Tu peux supprimer les lignes comportant les variables Var1 et Var2 qui n'ont servi quà la mise au point. Daniel "serge" a écrit dans le message de news:
Je suis dessus mais ca ne marche pas. j'ai l'erreur suivante : "application-defined or object-defined error" à la ligne commençant par var2. voici mon code : Sub Macro4() Sheets("rev").Select Dim c As Range, Var As Integer, Ctr As Integer, i As Integer For Each c In Range("B1:G1") Var = WorksheetFunction.CountIf(Range("B1:g1"), c.Value) If Var <> 1 Then Ctr = 1 i = 1 Do Until Ctr = 2 Var1 = c.Value Var2 = c.Offset(0, i).Value If c.Value = c.Offset(0, i).Value Then Ctr = 2 c.Offset(0, i).EntireColumn.Delete End If i = i + 1 Loop End If Next c
End Sub
Merci d'avance, Harold
"Daniel" wrote:
Bonjour. Tu peux essayer le code suivant (les dates sont en A1:G1):
Sub Test() Dim c As Range, Var As Integer, Ctr As Integer, i As Integer For Each c In Range("A1:G1") Var = WorksheetFunction.CountIf(Range("a1:g1"), c.Value) If Var <> 1 Then Ctr = 1 i = 1 Do Until Ctr = 2 Var1 = c.Value Var2 = c.Offset(0, i).Value If c.Value = c.Offset(0, i).Value Then Ctr = 2 c.Offset(0, i).EntireColumn.Delete End If i = i + 1 Loop End If Next c End Sub
Cordialement. Daniel "serge" a écrit dans le message de news:
bonjour,
j'ai une feuille avec des dates sur la ligne 1 et des données (jusqu'à la ligne 30 en dessous qui correspondent à cette date. Chaque jour, ce fichier est update par une incrementation de la derniere colonne avec une nvelle date et les données qui correspondent. Ce que je voudrais, c'est un macro qui supprime la colonne d'une date si elle est en double, cad si 2 colonnes ont la même date, le macro supprime la colonne la plus à droite. quelquun pourrait me proposer un code? car je n'est vraiement aucune idée ...