Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion HELP
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

H

HELP

Guest
Bonsoir,

j`ai un pb de transpose de data de colonne a ligne

J`ai vu des exemple mais je veux faire cela sous VBA (car il s`agit d`envoi de saisi) et il n`y a pas de solution qui s`adapte mon pb

ci-joint un petit file explicatif\\

il y a 2 points. Le premier (facile pour certains du site je pense) serait deja le bienvenu

Merci pour votre aide

HELP
 
Merci Michel pour ton aide

J'au un pb que j'arrive pas à solutionner mais tjs lié à ta solution qui en tient compte.

Pb de If à la fin.

J'ai récupéré cette macro sur un exemple du site (Merci Yehaou - une sorte de chat pratiquant VBA) et ça bloque après mes ajustements.

La macro fait la chose suivante :

Envoyer des data en vérifiant que le nom saisi en cellule B2 d'une feuille 'Timesheet' d'un fichier ouvert appartient à une liste intitulée 'Liste_Staff' (liste située sur un autre

La macro envoie des données d'une feuille vers une autre workbook.



Sub Envoie_Data()
Dim Liste_Staff As Variant, Compteur As Long, Test As Boolean
With ThisWorkbook
With .Worksheets('Liste_Staff')
Liste_Staff = .Range('B2:B' & .Range('B65536').End(xlUp).Row).Value
End With
If Range('I8').Value = '' Then
MsgBox 'Pas de Nom de Famille, donc il n'y a rien à exporter, arrêt de la macro !', vbCritical + vbOKOnly, 'Erreur...'
Else
Test = False
For Compteur = LBound(Liste_Staff) To UBound(Liste_Staff)
If StrComp(Range('I8').Value, Liste_Staff(Compteur, 1), 1) = 0 Then Test = True: Exit For '(ici je verifie si nom en B2 appartient à Liste_Staff)
Next Compteur
If Test = True Then

With ThisWorkbook.Sheets('Allocation_Country')
With .Range('A65536').End(xlUp).Offset(1, 0)
.Value = Range('I8').Value
.Offset(0, 1).Value = Range('I9').Value


(et ici je transfere mes données ds les bons onglets avec D15😀53 zone à transferer)

With Sheets('Timesheet').Range('D15😀53').Copy
Sheets('Allocation_Country').Range('A65536').End(xlUp).Offset(0, 2).PasteSpecial Transpose:=True
End With

With ThisWorkbook.Sheets('Allocation_Projet')
With .Range('A65536').End(xlUp).Offset(1, 0)
.Value = Range('I8').Value
.Offset(0, 1).Value = Range('I9').Value
End With
Sheets('Timesheet').Range('D56😀73').Copy
Sheets('Allocation_Projet').Range('A65536').End(xlUp).Offset(0, 2).PasteSpecial Transpose:=True

End With
MsgBox 'Les données ont été envoyées avec succès !', vbOKOnly + vbInformation
Else

(Me mets un message Else sans IF et j'arrive pas à trouver le pb)
MsgBox 'ce nom n'est pas dans la liste, veuillez l'ajouter', vbOKOnly + vbInformation
End If
End If
End With
End Sub


si tu peux m'aider Michel, je t'en remercie

a+

HELP
 
bonjour

je n'ai pas regardé ta procédure en détail mais il semblerait qu'il manque 'End With' pour ces 2 instructions

With ThisWorkbook.Sheets('Allocation_Country')
With .Range('A65536').End(xlUp).Offset(1, 0)



bon apres midi
MichelXld

ps
petit coucou à Yehaou - la sorte de chat pratiquant VBA...;o) ...

Message édité par: michelxld, à: 16/02/2006 15:59
 
Bonsoir Michel XLD

merci mais c`est le if a la fin qui bloque tjs

MsgBox 'Les données ont été envoyées avec succès !', vbOKOnly + vbInformation
Else

(Me mets un message Else sans IF et j'arrive pas à trouver le pb)

MsgBox 'ce nom n'est pas dans la liste, veuillez l'ajouter', vbOKOnly + vbInformation
End If
End If
End With
End Sub

Je vais essayer qund meme ta proposition mais ca ne devrait pas solutionner mon If (ou j`ai tort?)

Bonne soiree

HELP
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
10
Affichages
409
Réponses
9
Affichages
301
Réponses
1
Affichages
443
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…