Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1037 connectés 

  FORUM HardWare.fr
  Windows & Software
  Logiciels

  Macros Excel ...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Macros Excel ...

n°2669805
Droopy 60
Posté le 01-04-2007 à 21:26:35  profilanswer
 

Bonjour,
 
Je tente de faire une macro en Excel. Je voudrais :
- à partir d’une colonne de valeurs textes, supprimer les lignes qui contiennent certaines valeurs.
- Ex : colonne D, j’ai les valeurs aa, bb, cc, dd, ee
- Je voudrais supprimer les lignes qui contiennent les valeurs aa et cc.
 
J’ai commencé une  macro mais je coince.
 
Sub Command_Click()
For i = 2 To i = 50
If i = "hgr" Then Rows(i = "hgr" ).Delete
Else
End Sub
 
Une idée ?.

mood
Publicité
Posté le 01-04-2007 à 21:26:35  profilanswer
 

n°2670020
TAM136
Posté le 02-04-2007 à 10:31:23  profilanswer
 

Droopy 60 a écrit :

Bonjour,
 
Je tente de faire une macro en Excel. Je voudrais :
- à partir d’une colonne de valeurs textes, supprimer les lignes qui contiennent certaines valeurs.
- Ex : colonne D, j’ai les valeurs aa, bb, cc, dd, ee
- Je voudrais supprimer les lignes qui contiennent les valeurs aa et cc.
 
J’ai commencé une  macro mais je coince.
 
Sub Command_Click()
For i = 2 To i = 50
If i = "hgr" Then Rows(i = "hgr" ).Delete
Else
End Sub
 
Une idée ?.


 
Salut
 
Pas vraiment sûr d'avoir compris. Essaies cette macro:
Sub Macro1()
For i = 1 To 15
'Tu choisis le nombre de ligne
For j = 1 To 5
'Tu choisis la colonne
If Cells(i, j) = "aa" Or Cells(i, j) = "cc" Then
Rows(i).Delete
End If
Next j
Next i
End Sub
 


Message édité par TAM136 le 02-04-2007 à 10:36:12
n°2670163
Droopy 60
Posté le 02-04-2007 à 14:26:10  profilanswer
 

Merci de ta réponse.
C'est quelque chose dans ce goût la.
La macro ne fonctionne pas pour l'instant.
 
L'idée est de supprimer un ligne dans laquelle apparait une valeure texte à partir d'une colonne.
 
Je cherche encore, si tu as une idée

n°2670169
SuppotDeSa​Tante
Aka dje69r
Posté le 02-04-2007 à 14:36:27  profilanswer
 

Bonjour
 
La macro de TAM136 fonctionne tres bien, peux tu preciser pourquoi elle "ne fonctionne pas pour l'instant" ?
 
Cordialement

n°2670185
Droopy 60
Posté le 02-04-2007 à 14:59:21  profilanswer
 

Y a t-il un myen de t'envoyer le fichier Excel sur lequel je travail ?

n°2670190
SuppotDeSa​Tante
Aka dje69r
Posté le 02-04-2007 à 15:12:34  profilanswer
 

il y a mon adresse mail sur mon profil apres je le partagerais ici

n°2670206
SuppotDeSa​Tante
Aka dje69r
Posté le 02-04-2007 à 15:47:11  profilanswer
 

Le mail est tres bien, mais il manque la piece jointe :p

n°2670435
SuppotDeSa​Tante
Aka dje69r
Posté le 02-04-2007 à 20:31:13  profilanswer
 

Bonsoir
 
Essaies ca :
 

Sub Droopy()
 
'ce que tu tapes dns la boite de dialogue est stockee dns la variable ValSch
ValSch = InputBox("Saisis la valeur cherchee pour effacer la ligne. Attention respecter les min/maj", "Search & destroy" )
 
Col = 4 'colonne de recherche
Ligne = 162
 
For x = 2 To Ligne
    If Cells(x, Col) = ValSch Then
        Rows(x).Select
        Selection.Delete Shift:=xlUp
        x = x - 1
        Ligne = Ligne - 1
    End If
Next x
 
End Sub


 
Je n'ai fait qu'un test, positif. Dis nous si ca te va
 
Cordialement
 
 
[edit]
Ligne=Ligne-1  <(--- ca tu t'en fou, j'avais fait ca pour intialiser a chaque fois le nb de ligne, mais apres je l'ai mis en dur avec Ligne=162
[/edit]


Message édité par SuppotDeSaTante le 02-04-2007 à 20:36:33

---------------
Soyez malin, louez entre voisins !
n°2670514
Droopy 60
Posté le 02-04-2007 à 22:46:10  profilanswer
 

Désolé de te répondre si tard. Mon PC de bureau me réponds "Idendifiants invalides". J'essai depuis mon portable et tient au courant.  

n°2670527
Droopy 60
Posté le 02-04-2007 à 22:59:33  profilanswer
 

C'es "presque" exactement ça. Simplement je connais déjà les valeurs que je veux supprimer et elles ne changent pas (HGR, UU, MU, BA, +PS, AC).
J'avais pensé au début à faire un filtre automatique et supprimer valeurs par valeurs mais ta macro est plus simple et plus conviviale  
Quoi qu'il arrive je te remercie de toute l'aide que tu m'apporte.

mood
Publicité
Posté le 02-04-2007 à 22:59:33  profilanswer
 

n°2670630
TAM136
Posté le 03-04-2007 à 08:41:31  profilanswer
 

Slaut
 
Je ne comprends comment ma macro ne fonctionne pas chez toi. Puisque tu connais les valeurs à suprimer, essaies ça:
 
Sub Macro1()
For i = 1 To 162
'1 si tu veux que la macro fonctionne à partie de la ligne1
'Comme je n'ai pas le fichier, je ne connais pas cette ligne
'Tu choisis le nombre de ligne
For j = 4 To 4
'Si j'ai bien compris, c'est la colonne 4 qui sert de référence
If Cells(i, j) = "HGR" Or Cells(i, j) = "UU" Or Cells(i, j) = "MU" Or Cells(i, j) = "BA" Or Cells(i, j) = "+PS" Or Cells(i, j) = "AC" Then
Rows(i).Delete
End If
Next j
Next i
End Sub
 

n°2670655
SuppotDeSa​Tante
Aka dje69r
Posté le 03-04-2007 à 09:35:35  profilanswer
 

Oups j'ai oublié de mettre le fichier TAM136 dsl...
 
Fichier

n°2670658
SuppotDeSa​Tante
Aka dje69r
Posté le 03-04-2007 à 09:42:52  profilanswer
 

Je pense que ta macro ne va pas TAM136, en effet tu fais une boucle for de 1 à 162 (deja c'est de 2 à 162 :p en 1 sont souvent les en-tete mais on va dire que c'est ma faute je n'ai pas partagé le fichier... ;)) mais surtout, lorsque tu supprime une ligne, par exemple les valeurs etant dans la ligne 5 supprimées les valeurs de la ligne 6 reviennent dans la ligne 5 etc. donc la valeur de ton i a chaque suppression doit etre oter de 1 pour repartir de la ligne qui a été supprimée... Suis-je clair...? :/
 
Cordialement
 
[edit]
 
J'aime pas trop faire les choses en dur, mais soit, essaies ca a ce moment :
 

Sub Droopy()  
 
Col = 4 'colonne de recherche  
Ligne = 162  
 
For x = 2 To Ligne  
    If Cells(x, Col) =  "HGR" Or Cells(x, Col) = "UU" Or Cells(x, Col) = "MU" Or Cells(x, Col) = "BA" Or Cells(x, Col) = "+PS" Or Cells(x, Col) = "AC" Then  
        Rows(x).Select  
        Selection.Delete Shift:=xlUp  
        x = x - 1  
    End If  
Next x  
 
End Sub


 
[/edit]

Message cité 1 fois
Message édité par SuppotDeSaTante le 03-04-2007 à 09:52:20

---------------
Soyez malin, louez entre voisins !
n°2670686
Droopy 60
Posté le 03-04-2007 à 10:14:04  profilanswer
 

Tout simplement fabuleux.
Mille fois merci.
C'est exactement ce que je voulais.
Encore merci, merci, merci.
@+
Droopy

n°2670697
SuppotDeSa​Tante
Aka dje69r
Posté le 03-04-2007 à 10:20:03  profilanswer
 

Merci aussi à TAM136 qui m'a évité de ressaisir If Cells(x, Col) =  "HGR" Or Cells(x, Col) = "UU" Or Cells(x, Col) = "MU" Or Cells(x, Col) = "BA" Or Cells(x, Col) = "+PS" Or Cells(x, Col) = "AC"
;)

n°2670815
TAM136
Posté le 03-04-2007 à 12:35:19  profilanswer
 

SuppotDeSaTante a écrit :

Je pense que ta macro ne va pas TAM136, en effet tu fais une boucle for de 1 à 162 (deja c'est de 2 à 162 :p en 1 sont souvent les en-tete mais on va dire que c'est ma faute je n'ai pas partagé le fichier... ;)) mais surtout, lorsque tu supprime une ligne, par exemple les valeurs etant dans la ligne 5 supprimées les valeurs de la ligne 6 reviennent dans la ligne 5 etc. donc la valeur de ton i a chaque suppression doit etre oter de 1 pour repartir de la ligne qui a été supprimée... Suis-je clair...? :/
[/edit]


 
Bien vu dje!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software
  Logiciels

  Macros Excel ...

 

Sujets relatifs
urgent : excel 2007 et macrosExcel - traitement automatique macros ou autre? je sais pas
[RESOLU] Excel et ses macros : c'est facile[Excel] Cmt garder ses macros en niveau eleve
Un bon livre sur Excel et ses macros ?Macros Excel.
Site sur excel parlant des macros à créer en VB...macros sous excel, ou comment gagner du temps ?
Help please : macros excel désactivées au démarrageréactiver les macros excel ?
Plus de sujets relatifs à : Macros Excel ...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR