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

debutant: coller dans premiere cellule vide

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

jmdrk2000fr

Guest
Bonjour

voiçi mon problème de débutant.

j'ai une feuille1 dans laquelle je rentre une valeur en C1.

Afin de conserver toutes les valeurs que je rentre en C1,je veux avec une macro, copier la valeur C1
vers une feuille 2 dans la première cellule vide de la colonne A.

voici le code mais j'ai une erreur sur la ligne range("A1")......

Range("C1").Select
Selection.Copy
Sheets("Feuil2").Select
Range("A1").End(xlDown).Offset(1, 0).Select

ActiveSheet.Paste

merci d'avance
 
Re : debutant: coller dans premiere cellule vide

Bonjour,

Voici le même résultat en 1 ligne :
Code:
Sheets("Feuil2").Range("A65536").End(xlUp).Offset(1, 0) = Sheets("Feuil1").Range("C1").Value

@+
 
Re : debutant: coller dans premiere cellule vide

Bonjour werjkslfs, Sergio, bonjour le forum,

La réponse de Sergio étant excellente je me permets d'intervenir juste pour t'expliquer l'erreur dans la ligne de ton code.

Range("A1").End(xlDown).Offset(0,1).Select signifie :
- tu pars de A1
- Tu sélectionnes la première cellule éditée (comme la colonne est vide cela t'envoie jusqu'en A65536).
- Tu demandes à excel de sélectionner la cellule inférieure. Soit A65537 et là ça plante puisque tu dépasses la limite imposée par le logiciel.

C'est pour cela que Sergio a préféré faire le contraire. Partir de A65536 et remonter à la première cellule éditié puis redescendre d'une. L'inconvénient de cette méthode et que, si la colonne A est vide la première valeur est toujours placée en A2 et non pas en A1... Il est vrai que souvent A1 contient une étiquette (une désignation) mais au pire tu peux résoudre avec une boucle If... Then.

Pour terminer, le code de Sergio ne copie que la valeur inscrite en C1. Si il te faut copier aussi le format je te propose le code suivant :

Code:
Sub Macro1()
Dim dest As Range 'déclare la variable dest
'définit la variable dest
With Sheets("Feuil2")
    If .Range("A1").Value = "" Then 'A1 si A1 est vide
        Set dest = .Range("A1")
    Else 'sinon la première cellule vide de la colonne A
        Set dest = .Range("A65536").End(xlUp).Offset(1, 0)
    End If
End With
'copie et colle la cellule C1 dans la colonne A de l'onglet "Feuil2"
Sheets("Feuil1").Range("C1").Copy Destination:=dest
End Sub
 
Re : debutant: coller dans premiere cellule vide

bonjour

Merci à sergio et robert
pour la réponse et l'explication de l'erreur.*


bonne fin de journée

Vraiment sympa ce forum🙂
 
coller les valeurs au lieu de la formule !!

Bonjour à tous

j'ai besoin d'aide au niveau d'une macro dont je me sers et qui était déjà existante.

Sub solder_actions()

' Macro enregistrée le 04/01/2006 par Aurélien DALLE
Dim i As Integer
Dim konteur As Integer
Dim NBsold As Integer

'debut du programme
NBsold = 4

'comptage des cellules dans l'onglet "soldées"
ActiveWorkbook.Worksheets("soldées ").Activate
For konteur = 4 To 4000

If Range(Cells(konteur, 1), Cells(konteur, 1)) <> "" Or Range(Cells(konteur, 2), Cells(konteur, 2)) <> "" Then

NBsold = NBsold + 1
End If

Next konteur
' detection et copie des actions soldées

ActiveWorkbook.Worksheets("en_cours").Activate

For i = 4 To 1000

If Range(Cells(i, 10), Cells(i, 10)) = "Soldée" Then
Range(Cells(i, 1), Cells(i, 13)).Copy ActiveWorkbook.Worksheets("soldées ").Cells(NBsold, 1)

'suppression de la ligne
ActiveWorkbook.Worksheets("en_cours").Activate
Range(Cells(i, 1), Cells(i, 15)).Select
Selection.Delete Shift:=xlUp

NBsold = NBsold + 1

'on reste sur la même ligne
i = i - 1

Cells(i, 1).Activate
Else
End If
Next i

ActiveWorkbook.Worksheets("en_cours").Activate

End Sub


Cette macro me permet de copier donc une ligne complète de l'onglet en_cours, la supprime puis la colle dans l'onglet "soldées". Mon problème est que dans l'onglet "en_cours", une formule se trouve dans la colonne 11 qui effectue une différence entre une date de la colonne 8 et la date du jour qui se trouve dans la case B1.

Est-il possible de copier la valeur de cette différence et non la formule

Merci😕
 
Re : debutant: coller dans premiere cellule vide

Bonjour,

rajoute cette ligne :

Code:
Worksheets("soldées ").Cells(NBsold, 11)     = Cells(i, 11).Value

après celle-ci

Code:
     Range(Cells(i, 1), Cells(i, 13)).Copy ActiveWorkbook.Worksheets("soldées ").Cells(NBsold, 1)

@+
 
- 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
256
Réponses
10
Affichages
791
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…