Problème suppresion ligne VBA

Fermé
Thomas - 29 juin 2009 à 16:56
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 - 30 juin 2009 à 10:57
Bonjourà toutes et tous ,

Voici ma problématique :

Je possède un fichier de quelques 6000 lignes ( donc 6000 projets )et 139 colonnes ( plein de données sur lesdits porjets ) .
Certains projets possèdent des lettres dans leurs noms ( AANV0) et je souhaite les supprimer de cette liste.
Je suis parvenu à convertir ce nom AANV0 ( présent dans une seule colonne : la colonne A ) en AA puis NV puis 0 séparés dans trois colonnes distinctes ( colonnes B,C puis D ) comme suit :





Collonnes A B C D

Lignes

1 AANV0123 AA NV 0

2
3


En clair je voudrais désormais :

1. créér deux colonnes ( E et F : ça je sais faire ) pour que le programme me dise en E1 si C1 est constitué de texte ( de même en F1 pour savoir si D1 est constitué de texte ou de chiffre ).
En somme il s'agit d'un ESTTEXTE itératif sur les 6000 projets .

2. Par la suite je veux que ma macro me supprime toutes les lignes ou VRAI est inscrit en colonne E OU ( OU et non ET ) en colonne F .




J'avais pensé à cela mais ça marche pas et je suis dessus depuis ce matin ( help please ! ) :


Pour la phase 1 :

Sub Phase_1 ()

Columns("B:D").Insert (xlToRight) ' pour créer les deux colonnes ou viendront se mettrent les VRAI ou FAUX '
' puis après je ne sais pas coder les instructions : si C1 est du texte alors do "VRAI" en E1 sinon "FAUX" / Si D1 est du texte alors do "VRAI" en F1 sinon "FAUX" et ce pour ttes les lignes jusqu'à al dernière non vide '



Pour la phase 2 :



Sub Phase2_V1()


Sheets("TEST_MACROSUPP").Select
For Each c In Range("C:C")
If c.Value = "VRAI" Then
c.EntireRow.Delete
End If

Next c

End Sub



En vous remerciant par avance de l'aide que vous m'apporterez.
Thomas.
A voir également:

3 réponses

Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 081
29 juin 2009 à 21:07
Salut,

Prenons un problème à la fois

AANV0 se trouve ou dans ta chaine, au début, dans la valeur, à la fin, et existe t il une séparation de part et d'autre !

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0
Merci pour votre réponse mais je ne comprends pas trop en fait.
Ma question était en quelques mots :

Comment puis je faire pour automatiser une fonction est TEXTE sous VBA qui me dirait si la colonne B ou C contient du texte ou des chiffres.
Ensuite comment faire pour coder un prog. qui me supprimera les lignes ou c'est écrit VRAI ( car la colonne B ou la colonne C contient du texte ).

Dans l'attente de vous lire.
Merci.
Thomas
0
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 081
30 juin 2009 à 10:57
Salut,

Supprimer une ligne n'est pas un problème, par contre il y a plusieurs façon d'aborder la détection du mot AANV0 à savoir s'il est en début du texte au milieu, a la fin, éventuellement séparé par un espace ou autre

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0