PB avec Macro de Copie sous condition

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 !

fredtu

XLDnaute Junior
Bonjour à tous,

Je débute en VBA et j'aurais besoin d'un petit coup de main.

Dans une feuille (test), je souhaite copier la Range ("C7:N7") sur la première ligne vide de la feuille (test1) à la condition que la cellule J7 (feuille test)ne soit pas vide. Si c'est le cas, il ne doit pas y avoir de copie.

J'ai testé le code suivant :



Sub enregistrement

Sheets("Test").Select
If (Sheets("Stats_jour").Range("J7") <> "") Then Range("C7:N7").Select
Selection.Copy
'Sélection de la feuille destination
Sheets("Test1").Select
' Cherche la 1ère cellule vide dans la collone B
Range("B6:B65536").Find("").Select
' Copie la sélection
With Sheets("Test1")
Selection.PasteSpecial xlPasteFormats
Selection.PasteSpecial xlPasteValues
End With




Malheureusement, la ligne est copiée automatiquement même si la cellule J7 est vide.

Merci d'avance pour votre aide.
 
Dernière édition:
Re : PB avec Macro de Copie sous condition

Bonsoir, essaie avec :

If Sheets("Stats_jour").Range("J7").Value <> "" Then _
Range("C7:N7").Copy Sheets("Test1").Range("B65000").End(xlUp).Offset(1, 0)

PS : recopie tout (formule....)
si tu ne veux que les valeurs :

If Sheets("Stats_jour").Range("J7").Value <> "" Then _
Range("C7:N7").Copy
With Sheets("Test1").Range("B65000").End(xlUp).Offset(1, 0)
.PasteSpecial xlPasteFormats
.PasteSpecial xlPasteValues
End With
Application.CutCopyMode = False

Mef quand même que la colonne C de la feuille "Stats_jour" soit renseignée, sinon la colonne B de la feuille "Test1" sera vide, et donc recopie sur la dernière ligne remplie, et non la dernière ligne + 1
 
Dernière édition:
Re : PB avec Macro de Copie sous condition

Merci Bhbh.

J'ai un peu adapté le code parce qu'avec ton code, je n'arrivais pas à copier à partir de ligne 7. de plus, la macro bloque après deux utilisations.



Sub Bouton38_QuandClic()

If Sheets("Stats_jour").Range("J7").Value <> "" Then _
Range("C7:N7").Copy
With Sheets("Test1).Range("C6:C65536").Find("")
.PasteSpecial xlPasteFormats
.PasteSpecial xlPasteValues
End With
Application.CutCopyMode = False

End Sub

Il me fait les copie parfaitement quand la cellule J7 est remplie. Si ça n'est pas le cas, j'ai une erreur 1004 : La méthode PastSpecial de la classe Range a échoué.

Est-il possible de rajouter une ligne dans le code qui précise que si la valeur de J7="", alors il ne faut rien copier et aller à la suite ?
 
Re : PB avec Macro de Copie sous condition

Salut,

il suffit simplement de tout mettre dans la condition if de la manière suivante :
Code:
Sub Bouton38_QuandClic()
If Sheets("Stats_jour").Range("J7").Value <> "" Then
    Range("C7:N7").Copy
    With Sheets("Test1").Range("C6:C65536").Find("")
        .PasteSpecial xlPasteFormats
        .PasteSpecial xlPasteValues
    End With
    Application.CutCopyMode = False
End If
End Sub

@+
 
Re : PB avec Macro de Copie sous condition

Bonjour le fil,

Peut être qu'avec :
Code:
Sub Bouton38_QuandClic()
If Sheets("Stats_jour").Range("J7").Value <> "" Then
    Range("C7:N7").Copy
    With Sheets("Test1").Range("C6:C65536").Find("")
        .PasteSpecial xlPasteFormats
        .PasteSpecial xlPasteValues
    End With
    Application.CutCopyMode = False
End If
End Sub
Ca marchera mieux : à tester...

Cordialement

Edit : Bonjour Porcinet : Tu es en forme aujourd'hui😉 et désolé pour la collision
 
Re : PB avec Macro de Copie sous condition

Merci pour votre aide.

Mon problème est résolu.


Par contre, est-il possible de créer un genre de Menu qui permet de chosir au démarrage
- accès en lecture seule : la feuille 1 s'ouvre
-accés avec modification possible : la feuille 2 s'ouvre puis une textbox ??

J'espère être assez clair.
 
- 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

Discussions similaires

Réponses
10
Affichages
791
Retour