Se connecter avec
S'enregistrer | Connectez-vous

Macro Excel - transferer les données

Dernière réponse : dans Programmation

Bonjour, jai un petit soucis avec ma macro excel qui permet de transferer des données (transposé). En faite j'ai un onglet avec un tableau ou je rentre mes données, et une macro avec un bouton ki permet de transferer les données vers mon onglet principal ... le seul soucis c'est que si mon tableau n'est pas plein, il transfere quand meme les cellules vides. Comment faire pour qu'il ne transfere seulement la ligne que si il y a au moins une cellule de la ligne avec des données. Si toutes les cellulles de la ligne sont vides, je veux qu'il ne la transfere pas. voici ma macro : Sub tranpose_dans_tableau() Dim ligne_active_base As Double 'Test pour déterminer la ligne où coller les infos dans le tableau' Sheets("Planning").Activate 'Mémorise le n° de la ligne où coller les données' If Range("A2").Value = "" Then ligne_active_base = Range("A2").Row Else ligne_active_base = Range("A2").End(xlDown).Row 1 End If 'Atteindre le formulaire et mémoriser les données' Sheets("Formulaire").Ra

Autres pages sur : macro excel transferer donnees

Lassé par la pub ? Créez un compte

Bonjour, jai un petit soucis avec ma macro excel qui permet de transferer des données (transposé). En faite j'ai un onglet avec un tableau ou je rentre mes données, et une macro avec un bouton ki permet de transferer les données vers mon onglet principal ... le seul soucis c'est que si mon tableau n'est pas plein, il transfere quand meme les cellules vides. Comment faire pour qu'il ne transfere seulement la ligne que si il y a au moins une cellule de la ligne avec des données. Si toutes les cellulles de la ligne sont vides, je veux qu'il ne la transfere pas. voici ma macro : Sub tranpose_dans_tableau() Dim ligne_active_base As Double 'Test pour déterminer la ligne où coller les infos dans le tableau' Sheets("Planning").Activate 'Mémorise le n° de la ligne où coller les données' If Range("A2").Value = "" Then ligne_active_base = Range("A2").Row Else ligne_active_base = Range("A2").End(xlDown).Row 1 End If 'Atteindre le formulaire et mémoriser les données' Sheets("Formulaire").Range("B1:H23").Copy Range("A" & ligne_active_base).PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:=xlNone, SkipBlanks:=False, Transpose:=True 'Collage avec transposition' Application.CutCopyMode = False 'Rendre le formulaire vierge' Sheets("Formulaire").Activate Sheets("Formulaire").Range("B1:H23").ClearContents Sheets("Formulaire").Range("B1").Select 'Retourner sur la base de données' Sheets("Planning").Activate End Sub si quelqu'un le sait, ca m'arrangerait beaucoup.... Cordialement,

Bonjour, jai un petit soucis avec ma macro excel qui permet de transferer des données (transposé). En faite j'ai un onglet avec un tableau ou je rentre mes données, et une macro avec un bouton ki permet de transferer les données vers mon onglet principal ... le seul soucis c'est que si mon tableau n'est pas plein, il transfere quand meme les cellules vides. Comment faire pour qu'il ne transfere seulement la ligne que si il y a au moins une cellule de la ligne avec des données. Si toutes les cellulles de la ligne sont vides, je veux qu'il ne la transfere pas. voici ma macro : Sub tranpose_dans_tableau() Dim ligne_active_base As Double 'Test pour déterminer la ligne où coller les infos dans le tableau' Sheets("Planning").Activate 'Mémorise le n° de la ligne où coller les données' If Range("A2").Value = "" Then ligne_active_base = Range("A2").Row Else ligne_active_base = Range("A2").End(xlDown).Row 1 End If 'Atteindre le formulaire et mémoriser les données' Sheets("Formulaire").Range("B1:H23").Copy Range("A" & ligne_active_base).PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:=xlNone, SkipBlanks:=False, Transpose:=True 'Collage avec transposition' Application.CutCopyMode = False 'Rendre le formulaire vierge' Sheets("Formulaire").Activate Sheets("Formulaire").Range("B1:H23").ClearContents Sheets("Formulaire").Range("B1").Select 'Retourner sur la base de données' Sheets("Planning").Activate End Sub si quelqu'un le sait, ca m'arrangerait beaucoup.... Cordialement,
Expert Programmation

Salut,

Dis, ça t'amuse de poster trois fois la même chose ? Et trois fois tout d'un bloc, sans le moindre effort de présentation !

Va lire le règlement et présente nous ça un peu mieux. En l'état, personne ne se donnera la peine de chercher à résoudre ton problème : tu ne trouveras que les modérateurs pour te rembarrer. Ce qui est bien dommage.

dsl ce n'était pas censé etre présenté de cette maniere ... et puis je l'ai posé qu'une seule fois, sauf erreur de manipulation de ma part... je vais remettre en ordre...
veuillez excusez la gene occasionnée, meme si je pense etre sur que ce n'est pas de ma faute

Bonjour,

jai un petit soucis avec ma macro excel qui permet de transferer des données (transposé).
En faite j'ai un onglet avec un tableau ou je rentre mes données, et une macro avec un bouton ki permet de transferer les données vers mon onglet principal ... le seul soucis c'est que si mon tableau n'est pas plein, il transfere quand meme les cellules vides. Comment faire pour qu'il ne transfere seulement la ligne que si il y a au moins une cellule de la ligne avec des données. Si toutes les cellulles de la ligne sont vides, je veux qu'il ne la transfere pas. voici ma macro :

Sub tranpose_dans_tableau()

Dim ligne_active_base As Double
'Test pour déterminer la ligne où coller les infos dans le tableau'
Sheets("Planning" ).Activate
'Mémorise le n° de la ligne où coller les données'
If Range("A2" ).Value = "" Then
ligne_active_base = Range("A2" ).Row
Else ligne_active_base = Range("A2" ).End(xlDown).Row 1
End If
'Atteindre le formulaire et mémoriser les données'
Sheets("Formulaire" ).Range("B1:H23" ).Copy Range("A" & ligne_active_base).PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:=xlNone, SkipBlanks:=False, Transpose:=True

'Collage avec transposition'
Application.CutCopyMode = False

'Rendre le formulaire vierge'
Sheets("Formulaire" ).Activate
Sheets("Formulaire" ).Range("B1:H23" ).ClearContents
Sheets("Formulaire" ).Range("B1" ).Select

'Retourner sur la base de données'
Sheets("Planning" ).Activate

End Sub

si quelqu'un le sait, ca m'arrangerait beaucoup.... Cordialement,
Expert Programmation

Je t'ai demandé de lire le règlement. Tu fais ce que tu veux, Internet est un monde virtuel libre. Mais tu n'auras pas d'aide si tu ne nous respectes pas. Ce respect passe par l'observation de certaines règles, dont quelques-unes forment le règlement. [:spamafote]
Lassé par la pub ? Créez un compte