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

Un Copier/Coller tout bête mais...

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

B

bagerard

Guest
qui ne se décide pas à fonctionner !!

Bonjour à tous,

je viens chercher de l'aide concernat 3 malheureuses lignesd e mon code vba qui ne veulent rien savoir !
J'ai une macro qui automatise (par le moyen de InputBox) la saisie de données. Mon problème est qu'à chaque fin de saisie d'un eligne (et avant de passer à la suivante) je voudrais la copier dans un autre onglet...
J'ai essayé:

Sheets("AVIZE").Range(Cells(numLig, 1), Cells(numLig, 5)).Copy
Sheets(Sheets.Count).Range("A" & numLig).Select
Selection.Paste
Worksheets("AVIZE").Activate

et aussi:
Sheets("AVIZE").Range(Cells(numLig, 1), Cells(numLig, 5)).Copy
Sheets(Sheets.Count).Range(Cells(numLig, 1), Cells(numLig, 5)).Select
Selection.Paste
Worksheets("AVIZE").Activate

Mais rien de va.
Evidemment avec un : Sheets(Sheets.Count).Select tout court le copier/coller se fait mais tjs dans la première ligne...

J'espère avoir été assez clair.

Merci par avance pour votre aide
 
Re : Un Copier/Coller tout bête mais...

Bonjour bagerard,

est-tu sur d'incrémenter ton numlig avant de faire (je suppose) ta boucle
sinon le code complet voire le fichier nous serait plus utile
 
Re : Un Copier/Coller tout bête mais...

Salut Mutzik,

oui, aucun souci concernant numLig.
D'ailleurs, si ça peut vous aider à comprendre le problème, Excel réalise très bien la partie "COPIER" (cellules clairement sélectionnées à l'écran), il bug quand il s'agit de coller.

Bagerard
 
Re : Un Copier/Coller tout bête mais...

re,
as-tu essayé l'nregistreur de macros pour voir, c'est comme cela que je fais en premier puis je remplace des "A2" par des "A" & numLig ...
sinon, faut voir le fichier
 
Re : Un Copier/Coller tout bête mais...

J'ai bien peur d'être trop débutant en vba pour te suivre...
Enregistreur de macro ?????

Ci-dessous un extrait de mon code (j'ai fait le ménage dedans !!!)
Sub saisiemain()
Dim numCol As Long
Dim numLig As Integer
Dim strSaisie As String
Dim nomfen As String


'saisir date
nomfendate = "DATE DU RELEVE"
strSaisieDate = InputBox("Date du relevé ?", nomfendate)
If strSaisieDate <> "" Then
nom = strSaisieDate

Sheets.Add After:=Sheets(Sheets.Count)
End If

Sheets(Sheets.Count).Name = nom


Worksheets("AVIZE").Activate


' Commencer quelle ligne ?

numLigdebut = InputBox("Commencer à saisir quelle ligne ?", nomfendate)

' Boucle sur ligne
nonrelev = 0
boucle = 1
For numLig = numLigdebut To ActiveCell.SpecialCells(xlCellTypeLastCell).Row



Do While boucle = 1
nomfen = Cells(numLig, 4) & " " & Cells(numLig, 5) & " " & Cells(numLig, 2) & " " & Cells(numLig, 3) & " " & Cells(numLig, 6)
strSaisie = InputBox("Volume du BAC ?", nomfen)

If strSaisie = "nr" Then
nonrelev = 1
Cells(numLig, 9).Value = "Non Relevé"
Exit Do
End If

' Si saisie effectuée
If strSaisie <> "" Then

strSaisiep = InputBox("Pourcentage de remplissage ?", nomfen)

volumeOM = volumeOM + (strSaisie * strSaisiep) / 100

End If

If MsgBox("Autre bac OM ?", vbYesNo, " ") = vbNo Then

boucle = 0

End If




Cells(numLig, 9).Value = volumeOM

Loop

If nonrelev = 0 Then
If MsgBox("Y avait-il du VRAC OM ?", vbYesNo, " ") = vbYes Then

volumeOMvrac = InputBox("Volume de VRAC OM ?", nomfen)

volumeOM = volumeOM + volumeOMvrac
Cells(numLig, 9).Value = volumeOM
End If





End If

boucle = 1

' Sheets("AVIZE").Range(Cells(numLig, 1), Cells(numLig, 5)).Copy

' Sheets(Sheets.Count).Range("A" & numLig).Select
' Selection.Paste

' Worksheets("AVIZE").Activate




If MsgBox("Continuer de saisir ?", vbYesNo, " ") = vbNo Then Exit Sub

Next numLig


End Sub

J'ai pas mal coupé dans le vif pour que ce soit plus "digeste" donc ne t'inquiète pas si, au passage, il manque des End et cie...
 
Re : Un Copier/Coller tout bête mais...

Bonjour Bagerard, Bertand, bonjour le forum,

Souvent je passe par une variable de type Range (dest) comme ça :

Code:
Dim dest As Range 'déclare la variable dest
Set dest = Sheets(Sheets.Count).Cells(numLig, 1) 'définit la variable dest
Sheets("AVIZE").Range(Cells(numLig, 1), Cells(numLig, 5)).Copy Destination:=dest 'copie et colle
Worksheets("AVIZE").Activate
 
Re : Un Copier/Coller tout bête mais...

Cool !

Merci Robert et Mutzik de vous êtes penchés sur mon problème.
La solution de Robert fonctionne.

Bonne journée à vous
Bagerard
 
- 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

  • Question Question
Microsoft 365 Cpier/coller en VBA
Réponses
7
Affichages
822
Réponses
5
Affichages
949
LeSaintKebab
L
Z
Réponses
5
Affichages
2 K
Zimzim
Z
G
Réponses
7
Affichages
1 K
gfgghbhg
G
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…