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

Recherche première ligne libre

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

S

Sloubi76

Guest
Bonsoir,

Je butte sur la commande VBA me permettant de copier les cellule C3, C5, C7 de la feuil1 sur la première ligne libre au bas de la base récapitulative située en feuil2 colonnes A, B, C.(C3 en A, C5 en B et C7 en C).

Merci d'avance de vos propositions
 
Re : Recherche première ligne libre

bien le bonsoir à tous
'>>>>>>>> lig/col occupées dans la feuille entière avec ActiveSheet. OU Sheets(No).
'no de feuille ou son nom !?
With Sheets(No).UsedRange: NoDeLaDernLig = .Cells(.Rows.Count, .Columns.Count).Row: End With
With Sheets(No).UsedRange: NoDeLaDernCol = .Cells(.Rows.Count, .Columns.Count).Column: End With

Roland
 
Re : Recherche première ligne libre

Bonsoir Roland,

Merci de ton aide mais le code
'Copie le nom du client
Sheets("saisie").Select
Range("C3").Select
Selection.Copy
'Colle le nom de client dans la base de données récapitulative
Sheets("Commande").Select
With Sheets("Commande").UsedRange: NoDeLaDernLig = .Cells(.Rows.Count, .Columns.Count).Row: End With
ActiveSheet.Paste

End Sub
Me positionne la copie à des endroits différents au fur et à mesure de l'utilisation.
Serait ce la formule qui va de travers
@ +
 
Re : Recherche première ligne libre

re:
'Copie le nom du client
Sheets("saisie").Select
Range("C3").Select
Selection.Copy
'Colle le nom de client dans la base de données récapitulative
Sheets("Commande").Select
'>>>>>>>> ceci te donne le no de ligne et de colonne simplement !
'>>>>>>>> pour copier à cet endroit tu doit te servir de ces nos !?
With Sheets("Commande").UsedRange: NoDeLaDernLig = .Cells(.Rows.Count, .Columns.Count).Row: End With
'>>>>>>>> exemple CI-DESSOUS (pour le ,1 de la colonne à toi te voir si c'est bien la 1'
Sheets("Commande").Cells(NoDeLaDernLig + 1, 1).Select
ActiveSheet.Paste

End Sub

Roland
 
Re : Recherche première ligne libre

Bonsoir Sloubi76, Roland_M

une autre solution :

Code:
Sub copie()
Dim a_copier As Range, a_ecrire As Range
Set a_copier = Feuil1.[C3]
With Feuil2: Set a_ecrire = .Range("A" & .Rows.Count).End(xlUp).Offset(1, 0): End With

a_ecrire.Value = a_copier.Value
Set a_copier = a_copier.Offset(2, 0): Set a_ecrire = a_ecrire.Offset(0, 1)
a_ecrire.Value = a_copier.Value
Set a_copier = a_copier.Offset(2, 0): Set a_ecrire = a_ecrire.Offset(0, 1)
a_ecrire.Value = a_copier.Value
End Sub


A+
 
Re : Recherche première ligne libre

Bonsoir,

Un exemple pour copier les trois cellules demandées:

Code:
Sub CCopy()
Dim Tablo
With Sheets("saisie")
   Tablo = Array(.Range("C3"), .Range("C5"), .Range("C7"))
End With
Sheets("Commande").Range("A65536").End(xlUp).Offset(1, 0).Resize(, UBound(Tablo) + 1) = Tablo
End Sub

La variable Tablo contient les données des trois cellules.
Sheets("Commande").Range("A65536").End(xlUp).Offset(1, 0) te permet d'aller sur la première ligne vide de la colonne A.
.Resize(, UBound(Tablo) + 1) = Tablo permet de mettre les données du tableau dans les trois colonnes A,B et C (Resize te permet de créer un décallage en partant d'une cellule, Resize(Nbr de ligne,Nbr de colonne).

A+
 
Re : Recherche première ligne libre

Bonsoir à vous,

Merci toutes vos propositions sont plus intéressantes les unes que les autres, je n'ai que l'embarras du choix.
Mon problème est enfin résolu.
Je ne manquerai pas de revenir vers vous car j'ai un module à venir qui n'est pas simple,
petit avant gout pour les gourmets :
"la ref doit être comparée avec les ref qui se trouvent sur la feuille 2 colonne STOCK REEL
- s'il ne trouve pas la ref il ne fait rien
- s'il trouve il doit enlever la quantité correspondante
de ce fait on doit ensuite compare le STOCK REEL avec MINI
- si stock réel est sup au stock mini ok on fait rien
- si stock réel est inf au stock mini alors il faut marquer dans la colonne ATTENTE DE REAPRO et face à la ref concernée la quantité de pièce à recevoir.
Si l'un de vous se sent d'attaque je suis à sa disposition !!
@ + et merci encore
 
- 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
212
wDog66
W
Réponses
5
Affichages
666
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…