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

Q

qsdeterio

Guest
Bonjour à tous
j'ai le code suivant
Code:
Option Explicit
Sub test()
Dim x As Range, y As Range
With Workbooks("classeur1.xls").Sheets("NomFeuille1")
    Set x = .Range("J:J").Find("blabla", , xlValues, xlWhole, , , False)
    If Not x Is Nothing Then
        With Workbooks("classeur2.xls").Sheets("NomFeuille2")
            Set y = .Range("J:J").Find("blabla", , xlValues, xlWhole, , , False)
            If Not x Is Nothing Then
                x.EntireRow.Copy Destination:=y.EntireRow
            End If
        End With
    End If
End With
End Sub



Grace a cette ligne
"x.EntireRow.Copy Destination:=y.EntireRow" on voit qu on copie entièrement la ligne qui correspond a "x" a la place de la ligne qui correspond a "y"

comment ne sélectionner que des plage de cellule et non la ligne entière je n'arrive pas à obtenir la bonne synthaxe


La solution la plus adapter a mon sens etait
"x.range(A:C) destination:=y.range(AA:AC)"


Suis-je proche de la bonne réponse ??
Merci
Cordialement
 
Re : plage de cellules

oui mais j'ai encore un msg d'erreur, mon code marche puisque quand la condition est remplis, il copie bien toute la ligne qui correspond a "x" sur l autre fichier sur la ligne qui correspond a "y"
mais la quand on veut prendre seulement les cellule desiré cela ne fonctionne plus, j'ai egalement un message d'erreur avec ta methode, la ligne est fixe oui
 
Re : plage de cellules

J'ai une derniere petite question, mon code finale est donc le suivant
Option Explicit
Sub test()
Dim x As Range, y As Range
With Workbooks("classeur1.xls").Sheets("NomFeuille1")
Set x = .Range("J:J").Find("blabla", , xlValues, xlWhole, , , False)
If Not x Is Nothing Then
With Workbooks("classeur2.xls").Sheets("NomFeuille2")
Set y = .Range("J:J").Find("blabla", , xlValues, xlWhole, , , False)
If Not x Is Nothing Then
Workbooks("classeur1.xls").Sheets("NomFeuille1").Cells(x.row,1).Resize(,3).copy destination:=.Cells(y.row,27).Resize(,3)

End If
End With
End If
End With
End Sub

Lorsque que x et y ont pas la meme valeur on voit que aucun message d'erreur n'apparait grâce a cette ligne " If Not x Is Nothing Then"
j'aimerai avoir la meme chose avec les nom des feuilles , c'est a dire si ( dans mon exemple) il trouve pas la feuille "oui" du classeur 1 alors rien ne se passe, je veux eviter le message d'erreur ( car je suis sur des systeme d'automatisation)

que faut t'il rajouter au code ?
je sais pas si je suis clair , si ce n'est pas le cas me le faire remarquer,

Merci a vous deux en tout cas, Merci beaucoup
 
Re : plage de cellules

Très bien merci, c'est vrai que j'ai été fenéant sur le coup, excusez moi !

j'ai un "Offset(1)" a placer a propos de ma ligne x ( je veux pas prendre x mais la ligne juste en dessous) ou dois-je le placer? dans cette ligne je suppose ? mais comment ? excusez moi de ma médiocrité mais je debute sur Visual basic

Workbooks("classeur1.xls").Sheets("oui").Cells(x.row,1).Resize(,3).copy destination:=.Cells(y.row,27).Resize(,3)
 
Re : plage de cellules

Re,

me reste plus qu'a tester l'existance d'une feuille

un exemple à adapter à ton projet....

Code:
Sub TestFeuilleExiste()
Dim nomfeuille As String
nomfeuille = "Feuil1"
If Not FeuilleExiste(nomfeuille) Is Nothing Then MsgBox "OK"
End Sub

Function FeuilleExiste(f As String) As Worksheet
On Error Resume Next
Set FeuilleExiste = Worksheets(f)
End Function
 
- 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
2
Affichages
411
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
5
Affichages
910
Retour