Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

petit probleme de macro

  • Initiateur de la discussion Initiateur de la discussion Jocelyn
  • 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 !

J

Jocelyn

Guest
Bonjours a tout le forum,

Je suis debutant en macro et je suis totalement coince alors comme j'ais deja trouvé de l'aide auprés des spécialistes que vous etes je me tourne vers vous.

j'ai créé un fichier pour établir des devis et en faire le suivi.
sur un onglet intitule devis j'ai plusieurs céllules qui contiennennt des liste déroulantes venant d'autre onglet du meme classeur (merci a thierryR), et j'ais un onglet (feuill1) sur lequel je voudrais qu'excel aille recopier les données de l'onglet devis.
pour ca j'ais fait "enregister une macro" en me disant que cela me permetrais de voir ce qui ce passe en VBA.

le premier probleme c'est que meme en identifiant la fonction de chacune des lignes de la macro je m'arrive pas a faire en sorte qu'elle arrete de passer d'une page a l'autre.

autre probleme si je change les données du devis il va ecrire les info sur la meme ligne que la fois précédente ce qui est normal puisque c'est l'adresse que donne ma macro alors comment faire pour indiquer a la macro qu'elle doit faire ses enregistrement sur la ligne d'après.


je ne suis pa sur d'avoir été très clair dans mon discour aussi je vous joint le fichier en pièce jointe.

Si quelqu'un peut m'aider.

Je vous remercie tous d'avance
 

Pièces jointes

Bonjour Jocelyn, le Forum.

Je te propose le code ci-dessous :

Private Sub btnArchiver_Click()
Dim TabTemp(1 To 11) As Variant
Dim L As Long
'Mémoriser les données à archiver
With Sheets("Devis")
TabTemp(1) = .Cells(4, 2)
TabTemp(2) = .Cells(7, 2)
TabTemp(3) = .Cells(11, 2)
TabTemp(4) = .Cells(9, 2)
TabTemp(5) = .Cells(13, 2)
TabTemp(6) = .Cells(19, 2)
TabTemp(7) = .Cells(30, 2)
TabTemp(8) = .Cells(36, 2)
TabTemp(9) = .Cells(27, 3)
TabTemp(10) = .Cells(42, 3)
TabTemp(11) = .Cells(44, 3)
End With
'Stocker les données dans la feuille d'archive
With Sheets("Feuil1")
'Déterminer 1ère ligne libre
L = .Range("A65536").End(xlUp).Row + 1
'Stocker les valeurs sur cette ligne libre
.Range(.Cells(L, 1), .Cells(L, 11)).Value = TabTemp
'Format d'affichage de la date
.Cells(L, 1).NumberFormat = "d mmmm yyyy"
'Afficher l'onglet "Archives"
.Activate
End With
End Sub

Tu trouveras ci-joint ton fichier modifié en conséquence.

Cordialement.
Didier_mDF
 

Pièces jointes

Bonjour Didier_mDF

C'est génial c'est exactement ce que je cherchais vous etes vraiment des spécialistes hyper sympa ca c'est les remerciement pour la macro en elle meme.

et un deuxieme merci pour la leçon sur les macros je veux dire par la que le fait d'indiquer a quoi servent chacunes des lignes permet au novice que je suis de comprendre le déroulement de la macro et a force de pouvoir les reproduire et voir les changés en cas de besoin. il est très important a mon avis de comprendre ce que l'on fait et ce type d'aide y pourvoit.

quand je serais "un grand d'excel" je pourrais a mon tour donner un coup de main.

encore merci

Jocelyn
 
- 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
3
Affichages
584
Réponses
2
Affichages
1 K
Réponses
19
Affichages
1 K
  • Question Question
Microsoft 365 Macro de recherche
Réponses
20
Affichages
2 K
Réponses
23
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…