Copier une ligne vers une autre feuille sans la mise en forme

cs_badjio Messages postés 3 Date d'inscription mardi 12 mai 2009 Statut Membre Dernière intervention 4 janvier 2011 - 4 janv. 2011 à 12:37
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 - 4 janv. 2011 à 16:31
Bonjour et bonne année.
Voila, je suis débutant en VBA et doit monter un projet excel. Celui ci consiste à compléter une liste par le biais d'une feuille de saisie, je m'explique :

L'utilisateur complete des données sur la feuille saisie, ces données doivent alors être copiées et collées dans une liste sur la feuille consommation, tout en sautant une ligne à chaque fois ( pour éviter d'écraser les données déja enregistrées).

Mon problème est que je voudrais copier uniquement les valeurs de la ligne et non pas son format (comportant des listes déroulantes et des couleurs).

Voici mon algo :

Sub enregistrement2()

Select Case MsgBox("Voulez vous enregistrer?", vbOKCancel + vbQuestion, " Enregistrement")
Case vbOK

If Sheets("consommations").Range("b13").Offset(-1) <> "" Then

' ajoute une ligne - la ligne s'insère au dessus

Application.EnableEvents = False

' pour ne pas tourner en boucle

Sheets("consommations").Range("b13").EntireRow.Insert xlShiftDown
Application.EnableEvents = True

End If


Sheets("saisie").Range("infovehi").Copy Sheets("consommations").Range("b13")
' copie les valeurs de infovehi et les collent sur la feuille consommations
Sheets("saisie").Range("agent").Copy Sheets("consommations").Range("g13")
' copie les valeurs de agent et les collent sur la feuille consommations
Sheets("saisie").Range("prise").Copy Sheets("consommations").Range("i13")
' copie les valeurs de prise et les collent sur la feuille consommations
Sheets("saisie").Range("p14").Copy Sheets("consommations").Range("a13")
'copie la valeur de la cellule p14 (la date en fait)



MsgBox (" Prise de carburant enregistrée ")

Case vbCancel
MsgBox (" Vous n'avez pas enregistré ")

End Select

End Sub



Si quelqu'un pouvait m'aider, parce que la je tourne en rond!

Merci d'avance,

3 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
4 janv. 2011 à 14:32
Bonjour,
je t'invite à utiliser l'enregistreur de macro pour :
Selectionner une ligne, copier, aller sur ton autre feuille
et faire un colage spécial (clic-droit puis colage spécial).
Dans la fenêtre qui s'ouvre, prends : VALEURS.
Fin de l'enregistrement...

Regardes maintenant le code.. tu vas pouvoir l'utiliser pour réaliser ton projet.

Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
0
cs_badjio Messages postés 3 Date d'inscription mardi 12 mai 2009 Statut Membre Dernière intervention 4 janvier 2011
4 janv. 2011 à 15:59
Merci de ta réponse Jordane, j'ai effectivement testé ton idée et en "bidouillant" un peu le code obtenu j'arrive plus ou moins à ce que j'attend, il ne me reste plus qu'à trouver le code pour descendre d'une ligne à chaque fois et non pas en inserer une.

Encore merci pour ton aide,

Cordialement,

Badjio
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
4 janv. 2011 à 16:31
Salut,


Sheets("consommations").Range("b13").Value = Sheets("saisie").Range("infovehi").value


y a pas plus simple !!!

maintenant si tu veux faire plus compliqué libre à toi mais c'est possible

A+
0
Rejoignez-nous