Recopier que des cellules pleines

eliseH

XLDnaute Nouveau
Bonjour,

Je suis en train de réaliser une feuille excel afin de gérer les projets au sein de mon service. J'aimerais calculer le temps passé sur chaque projet tous mois confondus.
En effet, j'aimerais recopier dans la feuille "cumul" les numéros d'imputation présents dans chaque feuille mensuelle (en faisant attention à ce que ce numéro soit concaténé) suivi du nombre d'heure passé par projet.
OR il existe des cellules vides entre les différents numéro d'imputation dans les feuilles mensuelles et que je ne souhaite pas faire apparaitre ces cellules dans la feuille "cumul". Quand j'utilise la fonction concatener d'une part, je fais apparaitre ces cellules vides et d'autre part, je suis obligé de la recopier pour chaque mois donc je pense qu'il doit y avoir une solution plus simple mais je ne la trouve pas.

Vous trouverez mon fichier en pièces jointes

Merci d'avance pour votre aide
 

Pièces jointes

  • essai.zip
    7.7 KB · Affichages: 34
  • essai.zip
    7.7 KB · Affichages: 37
  • essai.zip
    7.7 KB · Affichages: 31

eliseH

XLDnaute Nouveau
Re : Recopier que des cellules pleines

Bonjour,

Je viens de regarder votre dossier - Merci beaucoup de votre aide. Néanmoins, il reste un petit problème (j'ai essayé de la résoudre ce matin mais je n'y arrive pas).
Voila ce qu'on obtient lorsqu'on lance la macro

Intitulé / numéro imputation / nombre d'heures

A / Der458uig358 / 265.00
B / Der458uig358frhu789lko36 / 105
C / Der458uig358frhu789lko36rtgj459frt23 / 162
E / Der458uig358frhu789lko36rtgj459frt23dftn487kws28 / 195
G / Der458uig358frhu789lko36rtgj459frt23dftn487kws28Der458uig358frhu789lko36rtgj459frt23erg492uioh12 / 0

Le numéro d'imputation du projet A se retrouve dans le numéro d'imputation du projet B suivi du véritable numéro d'imputation du projet B
Les numéros d'imputation des projets A et B se retrouvent dans le numéro d'imputation du projet C suivi du véritable numéro d'imputation du projet C
...
Au final, j'aimerai obtenir

Intitulé / numéro imputation / nombre d'heures

A / Der458uig358 / 265.00
B / frhu789lko36 / 105
C / rtgj459frt23 / 162
E / dftn487kws28 / 195
G / erg492uioh12 / 0


Je pense qu'il doit y avoir un problème dans la boucle de concatenation mais je n'arrive pas à le résoudre.
 

eliseH

XLDnaute Nouveau
Re : Recopier que des cellules pleines

Sinon serait il possible de m'expliquer ce que fait cette partie de code

With Sheets("Cumul")
On Error GoTo GestionDesErreurs
MaLigne = Application.WorksheetFunction _
.Match(Libellé, Worksheets("Cumul").Range("A1:A10000"), 0)
.Cells(MaLigne, 3) = .Cells(MaLigne, 3) + NbHeures
End With

Ainsi que cette partie la

GestionDesErreurs:
If Err = 1004 Then
Err = 0
Sheets("Cumul").Range("A" & Sheets("Cumul").Range("A65536").End(xlUp).Row + 1) = Libellé
Sheets("Cumul").Range("B" & Sheets("Cumul").Range("A65536").End(xlUp).Row) = Imputation
Sheets("Cumul").Range("C" & Sheets("Cumul").Range("A65536").End(xlUp).Row) = NbHeures
Resume AutreValeur
End If

Ceux sont les seules parties du code que je ne comprends pas
 

eliseH

XLDnaute Nouveau
Re : Recopier que des cellules pleines

Merci pour vos réponses.
Mais si je mets Imputation = "" comme m'a conseillé Jean Marcel, ma colonne imputation est vide.
Je pense que la solution serait de "vider" la variable imputation avant de recommencer la boucle mais je ne sais pas où ni comment l'écrire.

Je vous remets le code:

For compteurDeFeuille = 8 To 15
If Sheets(compteurDeFeuille).Name <> "CUMUL" Then
NomDeLaFeuille = Sheets(compteurDeFeuille).Name
For NbLigne = 17 To 36
If Sheets(NomDeLaFeuille).Cells(NbLigne, 4) <> "" Then
Libellé = Sheets(NomDeLaFeuille).Cells(NbLigne, 4)
For Concatenation = 5 To 16
Imputation = Imputation & Sheets(NomDeLaFeuille).Cells(NbLigne, Concatenation)
Next
NbHeures = Sheets(NomDeLaFeuille).Cells(NbLigne, 21)
With Sheets("Cumul")
On Error GoTo GestionDesErreurs
MaLigne = Application.WorksheetFunction _
.Match(Libellé, Worksheets("Cumul").Range("A1:A10000"), 0)
.Cells(MaLigne, 3) = .Cells(MaLigne, 3) + NbHeures
End With
End If
AutreValeur:
On Error GoTo 0
Next
End If
 

eliseH

XLDnaute Nouveau
Re : Recopier que des cellules pleines

Autant pour moi - J'ai réussi.
En faites, je placais Imputation = "" dans la boucle et non juste avant la boucle donc ca ne pouvait pas fonctionner. :)

Merci beaucoup pour vos réponses, j'amméliore mon VB de jour en jour - Bientôt, je pourrais même donner des conseils (il me faut encore quelques heureSSS de réflexion pour ca :D)
 

Discussions similaires

Réponses
4
Affichages
367

Statistiques des forums

Discussions
312 839
Messages
2 092 692
Membres
105 510
dernier inscrit
gabgil.