Est ce que quelq'un pourrait m'aider à faire une boucle qui éxecuterait la
fonction suivante :
Je voudrais que cette boucle parcourt toute la colonne "1" et uniquement
celle-ci et chaque fois qu'elle rencontre un mot particulier dans une cellule
(exemple : toto), elle préserve la ligne; dans le cas contraire elle doit
supprimer la ligne.
La difficulté principal provient du fait que les lignes vont pas deux et ma
premiére cellule qui contient le mot "toto" est fusionnée.
si certain trouve cela easy, je suis preneur, sinon je vais essayé de le
faire, et je posterai mais bon sans grand espoir. merci tous
++
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. essaie :
Sub test() Dim Ligne As Long Ligne = Range("A65536").End(xlUp).Row For i = Ligne To 1 Step -1 If Range("A" & i).Value <> "toto" Then Range("A" & i).EntireRow.Delete End If Next i End Sub
Cordialement. Daniel "jive7" a écrit dans le message de news:
Bonjour,
Est ce que quelq'un pourrait m'aider à faire une boucle qui éxecuterait la fonction suivante : Je voudrais que cette boucle parcourt toute la colonne "1" et uniquement celle-ci et chaque fois qu'elle rencontre un mot particulier dans une cellule (exemple : toto), elle préserve la ligne; dans le cas contraire elle doit supprimer la ligne. La difficulté principal provient du fait que les lignes vont pas deux et ma premiére cellule qui contient le mot "toto" est fusionnée.
si certain trouve cela easy, je suis preneur, sinon je vais essayé de le faire, et je posterai mais bon sans grand espoir. merci tous ++
Bonjour.
essaie :
Sub test()
Dim Ligne As Long
Ligne = Range("A65536").End(xlUp).Row
For i = Ligne To 1 Step -1
If Range("A" & i).Value <> "toto" Then
Range("A" & i).EntireRow.Delete
End If
Next i
End Sub
Cordialement.
Daniel
"jive7" <jive7@discussions.microsoft.com> a écrit dans le message de news:
761DDB34-7C08-4908-B0F8-0A21993D7D1D@microsoft.com...
Bonjour,
Est ce que quelq'un pourrait m'aider à faire une boucle qui éxecuterait la
fonction suivante :
Je voudrais que cette boucle parcourt toute la colonne "1" et uniquement
celle-ci et chaque fois qu'elle rencontre un mot particulier dans une
cellule
(exemple : toto), elle préserve la ligne; dans le cas contraire elle doit
supprimer la ligne.
La difficulté principal provient du fait que les lignes vont pas deux et
ma
premiére cellule qui contient le mot "toto" est fusionnée.
si certain trouve cela easy, je suis preneur, sinon je vais essayé de le
faire, et je posterai mais bon sans grand espoir. merci tous
++
Sub test() Dim Ligne As Long Ligne = Range("A65536").End(xlUp).Row For i = Ligne To 1 Step -1 If Range("A" & i).Value <> "toto" Then Range("A" & i).EntireRow.Delete End If Next i End Sub
Cordialement. Daniel "jive7" a écrit dans le message de news:
Bonjour,
Est ce que quelq'un pourrait m'aider à faire une boucle qui éxecuterait la fonction suivante : Je voudrais que cette boucle parcourt toute la colonne "1" et uniquement celle-ci et chaque fois qu'elle rencontre un mot particulier dans une cellule (exemple : toto), elle préserve la ligne; dans le cas contraire elle doit supprimer la ligne. La difficulté principal provient du fait que les lignes vont pas deux et ma premiére cellule qui contient le mot "toto" est fusionnée.
si certain trouve cela easy, je suis preneur, sinon je vais essayé de le faire, et je posterai mais bon sans grand espoir. merci tous ++
kamal
Bonjour daniel je me suis interessé par cette fonction d'une autre façon mon cas est un peu différent :
je prends la première cellule de deuxième ligne 2, et je la compare à toute les cellules non vide de la ligne 5, en cas ou le contenu est le meme je fait appel à cette fonction qui relie les deux cellules par une ligne
************** Function MaShape(sh As String, Debut As Range, Fin As Range) As String Dim Gauche As Double Dim Haut As Double Dim FinGauche As Double Dim FinHaut As Double Gauche = Debut.Offset(, 1).Left Haut = Debut.Top + (Debut.Height / 2) FinGauche = Fin.Left FinHaut = Fin.Top + (Fin.Height / 2) With Worksheets(sh) With .Shapes.AddLine(Gauche, Haut, FinGauche, FinHaut) End With End With End Function
******************************* Puis
je prends la deuxème cellule de deuxième ligne, et je la compare à toute les cellules non vide de la ligne 5, en cas ou le contenu est le meme je fait appel lafonction qui relie les deux cellules par une ligne
je refais la meme operation jusqu'à la cellule n de la deuxième ligne
ensuit je passe à la ligne 5 pour faire le meme traitement avec les cellules de la ligne 5 et ceux de la ligne 7 (deux ligne vide entre les ligne contenant les données)
je me suis perdu quand je travail avec plusieurs variable i, j etc
j'espère que j'ai bien expliquer ma question
si vous avez besoin d'un fichier excel dis moi comment je peux l'attacher
aidez moi svp je serais très reconnaissant.
Bonjour daniel
je me suis interessé par cette fonction d'une autre façon mon cas est
un peu différent :
je prends la première cellule de deuxième ligne 2, et je la compare
à toute les cellules non vide de la ligne 5, en cas ou le contenu est
le meme je fait appel à cette fonction qui relie les deux cellules par
une ligne
**************
Function MaShape(sh As String, Debut As Range, Fin As Range) As String
Dim Gauche As Double
Dim Haut As Double
Dim FinGauche As Double
Dim FinHaut As Double
Gauche = Debut.Offset(, 1).Left
Haut = Debut.Top + (Debut.Height / 2)
FinGauche = Fin.Left
FinHaut = Fin.Top + (Fin.Height / 2)
With Worksheets(sh)
With .Shapes.AddLine(Gauche, Haut, FinGauche, FinHaut)
End With
End With
End Function
*******************************
Puis
je prends la deuxème cellule de deuxième ligne, et je la compare à
toute les cellules non vide de la ligne 5, en cas ou le contenu est le
meme je fait appel lafonction qui relie les deux cellules par une ligne
je refais la meme operation jusqu'à la cellule n de la deuxième ligne
ensuit je passe à la ligne 5 pour faire le meme traitement avec les
cellules de la ligne 5 et ceux de la ligne 7 (deux ligne vide entre les
ligne contenant les données)
je me suis perdu quand je travail avec plusieurs variable i, j etc
j'espère que j'ai bien expliquer ma question
si vous avez besoin d'un fichier excel dis moi comment je peux
l'attacher
Bonjour daniel je me suis interessé par cette fonction d'une autre façon mon cas est un peu différent :
je prends la première cellule de deuxième ligne 2, et je la compare à toute les cellules non vide de la ligne 5, en cas ou le contenu est le meme je fait appel à cette fonction qui relie les deux cellules par une ligne
************** Function MaShape(sh As String, Debut As Range, Fin As Range) As String Dim Gauche As Double Dim Haut As Double Dim FinGauche As Double Dim FinHaut As Double Gauche = Debut.Offset(, 1).Left Haut = Debut.Top + (Debut.Height / 2) FinGauche = Fin.Left FinHaut = Fin.Top + (Fin.Height / 2) With Worksheets(sh) With .Shapes.AddLine(Gauche, Haut, FinGauche, FinHaut) End With End With End Function
******************************* Puis
je prends la deuxème cellule de deuxième ligne, et je la compare à toute les cellules non vide de la ligne 5, en cas ou le contenu est le meme je fait appel lafonction qui relie les deux cellules par une ligne
je refais la meme operation jusqu'à la cellule n de la deuxième ligne
ensuit je passe à la ligne 5 pour faire le meme traitement avec les cellules de la ligne 5 et ceux de la ligne 7 (deux ligne vide entre les ligne contenant les données)
je me suis perdu quand je travail avec plusieurs variable i, j etc
j'espère que j'ai bien expliquer ma question
si vous avez besoin d'un fichier excel dis moi comment je peux l'attacher
aidez moi svp je serais très reconnaissant.
Daniel
Bonjour. Entre ligne 2 et ligne 5 il y a deux lignes; entre les lignes 5 et 7 il n'y en a qu'une. Si on dit entre 5 et 8, à quelle ligne doit-on arrêter le traitement ? Tu peux mettre un classeur sur www.cjoint.com. Clique sur le lien et suis les instructions. Cordialement. Daniel "kamal" a écrit dans le message de news:
Bonjour daniel je me suis interessé par cette fonction d'une autre façon mon cas est un peu différent :
je prends la première cellule de deuxième ligne 2, et je la compare à toute les cellules non vide de la ligne 5, en cas ou le contenu est le meme je fait appel à cette fonction qui relie les deux cellules par une ligne
************** Function MaShape(sh As String, Debut As Range, Fin As Range) As String Dim Gauche As Double Dim Haut As Double Dim FinGauche As Double Dim FinHaut As Double Gauche = Debut.Offset(, 1).Left Haut = Debut.Top + (Debut.Height / 2) FinGauche = Fin.Left FinHaut = Fin.Top + (Fin.Height / 2) With Worksheets(sh) With .Shapes.AddLine(Gauche, Haut, FinGauche, FinHaut) End With End With End Function
******************************* Puis
je prends la deuxème cellule de deuxième ligne, et je la compare à toute les cellules non vide de la ligne 5, en cas ou le contenu est le meme je fait appel lafonction qui relie les deux cellules par une ligne
je refais la meme operation jusqu'à la cellule n de la deuxième ligne
ensuit je passe à la ligne 5 pour faire le meme traitement avec les cellules de la ligne 5 et ceux de la ligne 7 (deux ligne vide entre les ligne contenant les données)
je me suis perdu quand je travail avec plusieurs variable i, j etc
j'espère que j'ai bien expliquer ma question
si vous avez besoin d'un fichier excel dis moi comment je peux l'attacher
aidez moi svp je serais très reconnaissant.
Bonjour.
Entre ligne 2 et ligne 5 il y a deux lignes; entre les lignes 5 et 7 il n'y
en a qu'une. Si on dit entre 5 et 8, à quelle ligne doit-on arrêter le
traitement ?
Tu peux mettre un classeur sur www.cjoint.com. Clique sur le lien et suis
les instructions.
Cordialement.
Daniel
"kamal" <bastaphe@yahoo.fr> a écrit dans le message de news:
1145460449.876995.28090@i39g2000cwa.googlegroups.com...
Bonjour daniel
je me suis interessé par cette fonction d'une autre façon mon cas est
un peu différent :
je prends la première cellule de deuxième ligne 2, et je la compare
à toute les cellules non vide de la ligne 5, en cas ou le contenu est
le meme je fait appel à cette fonction qui relie les deux cellules par
une ligne
**************
Function MaShape(sh As String, Debut As Range, Fin As Range) As String
Dim Gauche As Double
Dim Haut As Double
Dim FinGauche As Double
Dim FinHaut As Double
Gauche = Debut.Offset(, 1).Left
Haut = Debut.Top + (Debut.Height / 2)
FinGauche = Fin.Left
FinHaut = Fin.Top + (Fin.Height / 2)
With Worksheets(sh)
With .Shapes.AddLine(Gauche, Haut, FinGauche, FinHaut)
End With
End With
End Function
*******************************
Puis
je prends la deuxème cellule de deuxième ligne, et je la compare à
toute les cellules non vide de la ligne 5, en cas ou le contenu est le
meme je fait appel lafonction qui relie les deux cellules par une ligne
je refais la meme operation jusqu'à la cellule n de la deuxième ligne
ensuit je passe à la ligne 5 pour faire le meme traitement avec les
cellules de la ligne 5 et ceux de la ligne 7 (deux ligne vide entre les
ligne contenant les données)
je me suis perdu quand je travail avec plusieurs variable i, j etc
j'espère que j'ai bien expliquer ma question
si vous avez besoin d'un fichier excel dis moi comment je peux
l'attacher
Bonjour. Entre ligne 2 et ligne 5 il y a deux lignes; entre les lignes 5 et 7 il n'y en a qu'une. Si on dit entre 5 et 8, à quelle ligne doit-on arrêter le traitement ? Tu peux mettre un classeur sur www.cjoint.com. Clique sur le lien et suis les instructions. Cordialement. Daniel "kamal" a écrit dans le message de news:
Bonjour daniel je me suis interessé par cette fonction d'une autre façon mon cas est un peu différent :
je prends la première cellule de deuxième ligne 2, et je la compare à toute les cellules non vide de la ligne 5, en cas ou le contenu est le meme je fait appel à cette fonction qui relie les deux cellules par une ligne
************** Function MaShape(sh As String, Debut As Range, Fin As Range) As String Dim Gauche As Double Dim Haut As Double Dim FinGauche As Double Dim FinHaut As Double Gauche = Debut.Offset(, 1).Left Haut = Debut.Top + (Debut.Height / 2) FinGauche = Fin.Left FinHaut = Fin.Top + (Fin.Height / 2) With Worksheets(sh) With .Shapes.AddLine(Gauche, Haut, FinGauche, FinHaut) End With End With End Function
******************************* Puis
je prends la deuxème cellule de deuxième ligne, et je la compare à toute les cellules non vide de la ligne 5, en cas ou le contenu est le meme je fait appel lafonction qui relie les deux cellules par une ligne
je refais la meme operation jusqu'à la cellule n de la deuxième ligne
ensuit je passe à la ligne 5 pour faire le meme traitement avec les cellules de la ligne 5 et ceux de la ligne 7 (deux ligne vide entre les ligne contenant les données)
je me suis perdu quand je travail avec plusieurs variable i, j etc
j'espère que j'ai bien expliquer ma question
si vous avez besoin d'un fichier excel dis moi comment je peux l'attacher
aidez moi svp je serais très reconnaissant.
kamal
merci de votre réponse ci joint mon fichier http://cjoint.com/?ettLtcY1kP
pour comprendre entre une ligne de donnée, il y deux ligne vide
merci encore
merci de votre réponse
ci joint mon fichier
http://cjoint.com/?ettLtcY1kP
pour comprendre entre une ligne de donnée, il y deux ligne vide
merci de votre réponse ci joint mon fichier http://cjoint.com/?ettLtcY1kP
pour comprendre entre une ligne de donnée, il y deux ligne vide
merci encore
Daniel
Regarde le classeur à l'adresse : http://cjoint.com/?euaJkl4jyv Cordialement. Daniel "kamal" a écrit dans le message de news:
merci de votre réponse ci joint mon fichier http://cjoint.com/?ettLtcY1kP
pour comprendre entre une ligne de donnée, il y deux ligne vide
merci encore
Regarde le classeur à l'adresse :
http://cjoint.com/?euaJkl4jyv
Cordialement.
Daniel
"kamal" <bastaphe@yahoo.fr> a écrit dans le message de news:
1145468482.446256.82320@e56g2000cwe.googlegroups.com...
merci de votre réponse
ci joint mon fichier
http://cjoint.com/?ettLtcY1kP
pour comprendre entre une ligne de donnée, il y deux ligne vide
Regarde le classeur à l'adresse : http://cjoint.com/?euaJkl4jyv Cordialement. Daniel "kamal" a écrit dans le message de news:
merci de votre réponse ci joint mon fichier http://cjoint.com/?ettLtcY1kP
pour comprendre entre une ligne de donnée, il y deux ligne vide
merci encore
kamal
Bonjour daniel je te remercie pour votre réponse, le code que tu m'as envoyé fonction bien mais il y des erreurs je vous explique mais en vant voilàa le code complete pour que d'autre beneficie de ce code :
************************************ Sub test() Dim Feuille As String, Col As Integer Feuille = ActiveSheet.Name For i = 2 To 52 Step 4 For j = 1 To 26 For Col = 1 To 26 If Cells(i, j) <> "" And Cells(i, j) = Cells(i, Col).Offset(4, 0) Then MaShape Feuille, Cells(i, j), Cells(i, Col).Offset(4, 0) End If Next Col Next j Next i End Sub Function MaShape(sh As String, Debut As Range, Fin As Range) As String Dim Gauche As Double Dim Haut As Double Dim FinGauche As Double Dim FinHaut As Double Gauche = Debut.Offset(, 1).Left Haut = Debut.Top + (Debut.Height / 2) FinGauche = Fin.Left FinHaut = Fin.Top + (Fin.Height / 2) With Worksheets(sh) With .Shapes.AddLine(Gauche, Haut, FinGauche, FinHaut) End With End With 'cette fonction est envoyé par mechdenis End Function
**************************** le code compare les cellules de ligne 2 par ceux de la ligne 6, puis passe à comparer les cellules de ligne 6 à ceux de la ligne 10 , puis passe à comparer ceux de la ligne 10 à ceux de laligne 14 et ainsi de suite : j'arrive pas a adapter le code pour comparer les cellules de la ligne 2 à ceux de 6, 10, 14 ......54 puis passe à la ligne 6 pour faire le meme traitement
de toute façon merci bcp et le code est mis à la disposition des internauts . merci
Bonjour daniel
je te remercie pour votre réponse, le code que tu m'as envoyé
fonction bien mais il y des erreurs
je vous explique
mais en vant voilàa le code complete pour que d'autre beneficie de ce
code :
************************************
Sub test()
Dim Feuille As String, Col As Integer
Feuille = ActiveSheet.Name
For i = 2 To 52 Step 4
For j = 1 To 26
For Col = 1 To 26
If Cells(i, j) <> "" And Cells(i, j) = Cells(i,
Col).Offset(4, 0) Then
MaShape Feuille, Cells(i, j), Cells(i,
Col).Offset(4, 0)
End If
Next Col
Next j
Next i
End Sub
Function MaShape(sh As String, Debut As Range, Fin As Range) As String
Dim Gauche As Double
Dim Haut As Double
Dim FinGauche As Double
Dim FinHaut As Double
Gauche = Debut.Offset(, 1).Left
Haut = Debut.Top + (Debut.Height / 2)
FinGauche = Fin.Left
FinHaut = Fin.Top + (Fin.Height / 2)
With Worksheets(sh)
With .Shapes.AddLine(Gauche, Haut, FinGauche, FinHaut)
End With
End With
'cette fonction est envoyé par mechdenis
End Function
****************************
le code compare les cellules de ligne 2 par ceux de la ligne 6, puis
passe à comparer les cellules de ligne 6 à ceux de la ligne 10 , puis
passe à comparer ceux de la ligne 10 à ceux de laligne 14 et ainsi de
suite :
j'arrive pas a adapter le code pour comparer les cellules de la ligne 2
à ceux de 6, 10, 14 ......54 puis passe à la ligne 6 pour faire le
meme traitement
de toute façon merci bcp et le code est mis à la disposition des
internauts .
merci
Bonjour daniel je te remercie pour votre réponse, le code que tu m'as envoyé fonction bien mais il y des erreurs je vous explique mais en vant voilàa le code complete pour que d'autre beneficie de ce code :
************************************ Sub test() Dim Feuille As String, Col As Integer Feuille = ActiveSheet.Name For i = 2 To 52 Step 4 For j = 1 To 26 For Col = 1 To 26 If Cells(i, j) <> "" And Cells(i, j) = Cells(i, Col).Offset(4, 0) Then MaShape Feuille, Cells(i, j), Cells(i, Col).Offset(4, 0) End If Next Col Next j Next i End Sub Function MaShape(sh As String, Debut As Range, Fin As Range) As String Dim Gauche As Double Dim Haut As Double Dim FinGauche As Double Dim FinHaut As Double Gauche = Debut.Offset(, 1).Left Haut = Debut.Top + (Debut.Height / 2) FinGauche = Fin.Left FinHaut = Fin.Top + (Fin.Height / 2) With Worksheets(sh) With .Shapes.AddLine(Gauche, Haut, FinGauche, FinHaut) End With End With 'cette fonction est envoyé par mechdenis End Function
**************************** le code compare les cellules de ligne 2 par ceux de la ligne 6, puis passe à comparer les cellules de ligne 6 à ceux de la ligne 10 , puis passe à comparer ceux de la ligne 10 à ceux de laligne 14 et ainsi de suite : j'arrive pas a adapter le code pour comparer les cellules de la ligne 2 à ceux de 6, 10, 14 ......54 puis passe à la ligne 6 pour faire le meme traitement
de toute façon merci bcp et le code est mis à la disposition des internauts . merci
kamal
Bonjour daniel je te remercie infiniment pour ton aide, il m'a permet d'avoir bcp de chose le code suivant que vous m'avez envoyé parait correct 100%, mais je pense qu'il y un bug lor du traitement, quand je fait un analyse, je trouve tout logique mais lors de l'execution il ne donne pas le resultat complete
**************************************** Sub test() Dim Feuille As String, Col As Integer Feuille = ActiveSheet.Name For i = 2 To 52 Step 4 For j = 1 To 26 For Col = 1 To 26 If Cells(i, j) <> "" And Cells(i, j) = Cells(i, Col).Offset(4, 0) Then MaShape Feuille, Cells(i, j), Cells(i, Col).Offset(4, 0) End If Next Col Next j Next i end sub
************************* dans le resultat, il parait comme il ne fait pas la comparaison de la cellule (2,1) à la cellule (18,3).
merci si vous pouvez m'expliquer plus
merci
Bonjour daniel
je te remercie infiniment pour ton aide, il m'a permet d'avoir bcp de
chose
le code suivant que vous m'avez envoyé parait correct 100%, mais je
pense qu'il y un bug lor du traitement, quand je fait un analyse, je
trouve tout logique mais lors de l'execution il ne donne pas le
resultat complete
****************************************
Sub test()
Dim Feuille As String, Col As Integer
Feuille = ActiveSheet.Name
For i = 2 To 52 Step 4
For j = 1 To 26
For Col = 1 To 26
If Cells(i, j) <> "" And Cells(i, j) = Cells(i,
Col).Offset(4, 0) Then
MaShape Feuille, Cells(i, j), Cells(i,
Col).Offset(4, 0)
End If
Next Col
Next j
Next i
end sub
*************************
dans le resultat, il parait comme il ne fait pas la comparaison de la
cellule (2,1) à la cellule (18,3).
Bonjour daniel je te remercie infiniment pour ton aide, il m'a permet d'avoir bcp de chose le code suivant que vous m'avez envoyé parait correct 100%, mais je pense qu'il y un bug lor du traitement, quand je fait un analyse, je trouve tout logique mais lors de l'execution il ne donne pas le resultat complete
**************************************** Sub test() Dim Feuille As String, Col As Integer Feuille = ActiveSheet.Name For i = 2 To 52 Step 4 For j = 1 To 26 For Col = 1 To 26 If Cells(i, j) <> "" And Cells(i, j) = Cells(i, Col).Offset(4, 0) Then MaShape Feuille, Cells(i, j), Cells(i, Col).Offset(4, 0) End If Next Col Next j Next i end sub
************************* dans le resultat, il parait comme il ne fait pas la comparaison de la cellule (2,1) à la cellule (18,3).