GNT sans publicité, site mobile, fonctionnalitées exclusives...

Suppression de lignes vides dans un projet Ms project 2003

Le
nhawks
Bonjour,

J'aurai besoin de supprimer en automatique des lignes vides de mes fichiers project. Mes utilisateurs "polluent" leurs fichiers de lignes vides et pour automatiser mes reporting en aval de ces fichiers, il faut que je les supprime.

Auriez-vous un code VB simple afin de les supprimer.

Par avance merci de vos idées.
Christophe
Lire les 7 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gérard Ducouret
Le #20918971
Essayez ceci :

Sub DelLignevide()
Dim oTache As Task
Dim RowNbr As Integer, i As Integer

For Each oTache In ActiveProject.Tasks
i = i + 1
If oTache Is Nothing Then
SelectRow Row:=RowNbr + 1, RowRelative:úlse
EditDelete
GoTo skip
End If
RowNbr = oTache.ID
skip:
Next oTache

End Sub

Cordialement

Gérard
nhawks Hors ligne
Le #20919431
Gérard Ducouret a écrit le 07/01/2010 à 15h08 :
Essayez ceci :

Sub DelLignevide()
Dim oTache As Task
Dim RowNbr As Integer, i As Integer

For Each oTache In ActiveProject.Tasks
i = i + 1
If oTache Is Nothing Then
SelectRow Row:=RowNbr + 1, RowRelative:úlse
EditDelete
GoTo skip
End If
RowNbr = oTache.ID
skip:
Next oTache

End Sub

Cordialement

Gérard


Merci Gérard pour votre réponse.

Cependant lorsque j'applique ce code dans mon fichier, celà détruit TOUTES les lignes y compris les remplies !

Exemple de fichier :
Ligne 1 : Tache 1 durée 3 j
Ligne 2 : rien (ligne vide)
Ligne 3 : Tache 2 durée 3 s

Je ne voudrais qu'une suppression de la ligne 2.
A savoir que mes collègues me transmette une dizaine de fichiers possèdant plusieurs milliers de lignes par fichier. Donc très long et fastidueux à faire à la main.

A vos relire

Christophe
Gérard Ducouret
Le #20927191
On 7 jan, 16:20, nhawks
Gérard Ducouret a écrit le 07/01/2010 à 15h08 :



> Essayez ceci :

> Sub DelLignevide()
> Dim oTache As Task
> Dim RowNbr As Integer, i As Integer

> For Each oTache In ActiveProject.Tasks
> i = i + 1
> If oTache Is Nothing Then
> SelectRow Row:=RowNbr + 1, RowRelative:úlse
> EditDelete
> GoTo skip
> End If
> RowNbr = oTache.ID
> skip:
> Next oTache

> End Sub

> Cordialement

> Gérard

Merci Gérard pour votre réponse.

Cependant lorsque j'applique ce code dans mon fichier, celà détruit T OUTES les
lignes y compris les remplies !

Exemple de fichier :
Ligne 1 : Tache 1 durée 3 j
Ligne 2 : rien (ligne vide)
Ligne 3 : Tache 2 durée 3 s

Je ne voudrais qu'une suppression de la ligne 2.
A savoir que mes collègues me transmette une dizaine de fichiers poss èdant
plusieurs milliers de lignes par fichier. Donc très long et fastidueux à faire à
la main.

A vos relire

Christophe- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Bonjour Christophe,

J'ai testé cette procédure VBA sur un petit projet de 30 lignes où
j'avais inséré 4 lignes vides, elle a bien fonctionné...
Pourriez-vous me faire parvenir votre fichier test ?
Cordialement,

Gérard Ducouret
PragmaSoft ®
nhawks Hors ligne
Le #20927371
Gérard Ducouret a écrit le 08/01/2010 à 14h11 :
On 7 jan, 16:20, nhawks wrote:
Gérard Ducouret a écrit le 07/01/2010 à 15h08 :



> Essayez ceci :

> Sub DelLignevide()
> Dim oTache As Task
> Dim RowNbr As Integer, i As Integer

> For Each oTache In ActiveProject.Tasks
> i = i + 1
> If oTache Is Nothing Then
> SelectRow Row:=RowNbr + 1, RowRelative:úlse
> EditDelete
> GoTo skip
> End If
> RowNbr = oTache.ID
> skip:
> Next oTache

> End Sub

> Cordialement

> Gérard

Merci Gérard pour votre réponse.

Cependant lorsque j'applique ce code dans mon fichier, celà
détruit T OUTES les
lignes y compris les remplies !

Exemple de fichier :
Ligne 1 : Tache 1 durée 3 j
Ligne 2 : rien (ligne vide)
Ligne 3 : Tache 2 durée 3 s

Je ne voudrais qu'une suppression de la ligne 2.
A savoir que mes collègues me transmette une dizaine de fichiers poss
èdant
plusieurs milliers de lignes par fichier. Donc très long et fastidueux
à faire à
la main.

A vos relire

Christophe- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -




Bonjour Christophe,

J'ai testé cette procédure VBA sur un petit projet de 30 lignes

j'avais inséré 4 lignes vides, elle a bien fonctionné...
Pourriez-vous me faire parvenir votre fichier test ?
Cordialement,

Gérard Ducouret
PragmaSoft ®


Merci gérard. Quel Email puis-je utiliser pour vous envoyer mon petit fichier de test ?

Cordialement
Christophe
Gérard Ducouret
Le #20928031
On 8 jan, 14:53, nhawks
G rard Ducouret a crit le 08/01/2010 14h11 :



> On 7 jan, 16:20, nhawks  wrote:
>> G rard Ducouret a crit le 07/01/2010 15h08 :

>> > Essayez ceci :

>> > Sub DelLignevide()
>> > Dim oTache As Task
>> > Dim RowNbr As Integer, i As Integer

>> > For Each oTache In ActiveProject.Tasks
>> > i = i + 1
>> > If oTache Is Nothing Then
>> > SelectRow Row:=RowNbr + 1, RowRelative:úlse
>> > EditDelete
>> > GoTo skip
>> > End If
>> > RowNbr = oTache.ID
>> > skip:
>> > Next oTache

>> > End Sub

>> > Cordialement

>> > G rard

>> Merci G rard pour votre r ponse.

>> Cependant lorsque j'applique ce code dans mon fichier, cel
>> d truit T OUTES les
>> lignes y compris les remplies !

>> Exemple de fichier :
>> Ligne 1 : Tache 1 dur e 3 j
>> Ligne 2 : rien (ligne vide)
>> Ligne 3 : Tache 2 dur e 3 s

>> Je ne voudrais qu'une suppression de la ligne 2.
>> A savoir que mes coll gues me transmette une dizaine de fichiers poss
>> dant
>> plusieurs milliers de lignes par fichier. Donc tr s long et fastidueux
>> faire
>> la main.

>> A vos relire

>> Christophe- Masquer le texte des messages pr c dents -

>> - Afficher le texte des messages pr c dents -

> Bonjour Christophe,

> J'ai test cette proc dure VBA sur un petit projet de 30 lignes
> o
> j'avais ins r 4 lignes vides, elle a bien fonctionn ...
> Pourriez-vous me faire parvenir votre fichier test ?
> Cordialement,

> G rard Ducouret
> PragmaSoft

Merci g rard. Quel Email puis-je utiliser pour vous envoyer mon petit fic hier
de test ?

Cordialement
Christophe- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Celle-ci:

en enlevant ce qu'il faut.
cordialement,

Gérard Ducouret
Publicité
Suivre les réponses
Poster une réponse
Anonyme