Exploiter donnée

MAZETTE

XLDnaute Occasionnel
Bonjour à tous,

C'est encore moi ,pour un petit coup de main,mais cette fois ci en VBA.

Je souhaiterai à partir d'une feuille nommée "A" (feuille de pointage) exploiter des données: nom,semaine, total heures effectués ce qui me permettra plus tard de calculer le nombre d'heures complémentaires ou suplémentaires effectuées sur une semaine.

C'est donnée devrons être recopier sur la feuil1 avec une facon particulière...c'est une sorte de tableau transposé,le tout si possible en vba

Le plus simple est de vous mettre un fichier pour exemple.

Merci pour le coup de main
 

Pièces jointes

  • essai.zip
    2.6 KB · Affichages: 31
  • essai.zip
    2.6 KB · Affichages: 33
  • essai.zip
    2.6 KB · Affichages: 27

jp14

XLDnaute Barbatruc
Re : Exploiter donnée

Bonsoir

Ci joint une solution par macro.
Analyse des textes de la colonne A et en fonction de la valeur trouvé recopie des données.

A tester
PS il n'y a pas de donnée pour les nom3 et nom4 dans la feuille A.

JP
 

Pièces jointes

  • essai.zip
    10.6 KB · Affichages: 31
  • essai.zip
    10.6 KB · Affichages: 30
  • essai.zip
    10.6 KB · Affichages: 29

MAZETTE

XLDnaute Occasionnel
Re : Exploiter donnée

Bonsoir Jp,

Merci , c'est super et ça marche super bien.

Toutefois, j'ai encore un petit service à te demander et tu vas sans doute que j'exagère mais pour combler mon ignorance en la matière pourrais-tu s'il te plait m'expliquer ton code .

A te lire
 

MAZETTE

XLDnaute Occasionnel
Re : Exploiter donnée

Bonjour Le Forum et salut JP,

Pour faire suite à mon soucis, je souhaiterais si c'était possible récupérer les valeurs de "Reliquat" se trouvant sur la feuille B et les inclure sur la feuil1 comme expliquer dans l'exemple

Je ne sait pas quelle est la meilleure solution: modifier le code ou utiliser une formule même si je souhaite privilégier un code VBA.

Merci à vous
 

Pièces jointes

  • essai.zip
    7.7 KB · Affichages: 26
  • essai.zip
    7.7 KB · Affichages: 26
  • essai.zip
    7.7 KB · Affichages: 27

jp14

XLDnaute Barbatruc
Re : Exploiter donnée

Bonjour

Ci dessous le fichier avec les deux macros.
Le principe est le suivant
On cherche dans une colonne un texte, si on le trouve on copie des données qui e trouve dans les colonnes adjacentes.

JP
 

Pièces jointes

  • essai2.zip
    17.3 KB · Affichages: 34
  • essai2.zip
    17.3 KB · Affichages: 34
  • essai2.zip
    17.3 KB · Affichages: 34

MAZETTE

XLDnaute Occasionnel
Re : Exploiter donnée

Salut JP et le Forum,

Super, c'est impec...

Je me suis juste retrouvé avec un problème à savoir que les valeurs de "reliquat" écrasaient les heures de la première semaine.

J'ai modifié le code en décalant de 1 colonne les donées copié comme ci dessous:

Sub travdemande()
Dim i As Long
Dim lidep1 As Long
Dim lidep2 As Long
Dim j As Long
Dim nomfeuille1 As String
Dim nomfeuille2 As String
Dim col1 As String
Dim col2 As String
Dim data1 As String
Dim nb As Integer
Dim trouve As Boolean
Dim cellule As Range
nomfeuille1 = "Feuil1"
col1 = "C"
lidep1 = 7
nomfeuille2 = "A"
col2 = "A"
lidep2 = 3
j = 4
With Sheets("A")
trouve = False
For Each cellule In .Range(col2 & lidep2 & ":" & col2 & .Range(col2 & "65536").End(xlUp).Row)
If InStr(1, cellule.Value, "Total semaine du ") > 0 Then
Sheets(nomfeuille1).Cells(7, j + 1) = Mid(cellule.Value, 18, 50)
j = j + 1
trouve = True
End If
If InStr(1, cellule.Value, "TOTAUX") > 0 Then
Sheets(nomfeuille1).Cells(7, j + 1) = "TOTAUX"
End If
If InStr(1, cellule.Value, "Salarié") > 0 And trouve = True Then Exit For
Next cellule

For Each cellule In .Range(col2 & lidep2 & ":" & col2 & .Range(col2 & "65536").End(xlUp).Row)
If InStr(1, cellule.Value, "Salarié") > 0 Then
lidep1 = lidep1 + 1
j = 4
Sheets(nomfeuille1).Range(col1 & lidep1) = cellule.Offset(0, 1).Value

End If
If InStr(1, cellule.Value, "Total semaine du ") > 0 Then
Sheets(nomfeuille1).Cells(lidep1, j + 1) = cellule.Offset(0, 3).Value
j = j + 1
End If
If InStr(1, cellule.Value, "TOTAUX") > 0 Then
Sheets(nomfeuille1).Cells(lidep1, j + 1) = cellule.Offset(0, 3).Value
End If


Next cellule
End With
End Sub


et tout tourne normalement

Merci à toi JP, non seulement pour le code mais aussi les explications... t'es génial et ce site est génial

@+
 

Discussions similaires

Réponses
24
Affichages
1 K
Réponses
4
Affichages
335