Copier 2 cellules non adjacentes en vba

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

David

XLDnaute Occasionnel
Bonjour à tous

Je voudrais copier 2 cellules non adjacentes en VBA, j'ai donc mis :

Code:
Range("heure_budget", "total_budget").Rows(CptMatricule).Select

heure_budget est colonnes D et total_budget est colonne F, avec cette ligne ça copie de D à F, laors que je veux juste copier D et F.

Comment faire.

Merci
 
Re : Copier 2 cellules non adjacentes en vba

si j'ai bien compris ta demande, ceci devrait marcher
Code:
i = 2
Union(Cells(i, 3), Cells(i, 6)).Copy [H1] 'copie juste les valeurs des colonne C et F

sinon, celle-là donne le même résultat que tes précédents tests
Code:
Range(Cells(i, 3), Cells(i, 6)).Copy [H1] 'copie toutes les valeurs de la ligne i de la colonne C à F

...
oups, vba crumble est passé par là ;-)
 
Dernière édition:
Re : Copier 2 cellules non adjacentes en vba

Bonjour vbacrumble et Stéphane

Merci mais je n'arrive pas à la transcrire sur ma macro, je te mets la macro plus complète vu que cela va se copier dans un autre classeur.

Code:
                        Windows("Budget 2009 " & equipe & ".xls").Activate
                            Sheets("+9 salaries").Select
                            Range("heure_budget", "total_budget").Rows(CptMatricule).Select
                            Selection.Copy
                        
                        Windows(equipe & " " & mois_en_cours & " " & annee & ".xls").Activate
                            Sheets("mass_sal").Select
                            Range("heure_masse").Rows(CptMatricule_masse).Select
                            Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

Merci
 
Dernière édition:
Re : Copier 2 cellules non adjacentes en vba

salut

j'ai écrit ça hier et comme tu n'as pas mis de fichier exemple, je me suis débrouillé en initialisant qlq variables

Code:
Sub test()

// initialisations des variables à des fins de test
equipe = "OL"
CptMatricule = 2
mois_en_cours = 4
annee = 2009
CptMatricule_masse = 3
mois_en_cours = 3


'Méthode avec activation du classeur cible
With Workbooks("Budget 2009 " & equipe & ".xls").Sheets("+9 salaries")
    Workbooks(equipe & " " & mois_en_cours & " " & annee & ".xls").Activate
    Union(.Cells(CptMatricule, .[heure_budget].Column), .Cells(CptMatricule, .[total_budget].Column)).Copy ActiveWorkbook.Worksheets("mass_sal").Cells(CptMatricule_masse, [heure_masse].Column)
End With

'Méthode sans activation du classeur
Dim sourceWorkbook As Workbook
Dim cibleWorkbook As Workbook
Dim sourceFeuille As Worksheet
Dim cibleFeuille As Worksheet
Dim sourceRange As Range
Dim cibleRange As Range

Set sourceWorkbook = Workbooks("Budget 2009 " & equipe & ".xls")
Set cibleWorkbook = Workbooks(equipe & " " & mois_en_cours & " " & annee & ".xls")
Set sourceFeuille = sourceWorkbook.Worksheets("+9 salaries")
Set cibleFeuille = cibleWorkbook.Worksheets("mass_sal")

With sourceFeuille
    Set sourceRange = Union(.Cells(CptMatricule, .[heure_budget].Column), .Cells(CptMatricule, .[total_budget].Column))
End With

With cibleFeuille
    Set cibleRange = .Cells(CptMatricule_masse, [heure_masse].Column)
End With
sourceRange.Copy cibleRange


End Sub

HTH
 
Re : Copier 2 cellules non adjacentes en vba

Bonjour Stéphane.

Merci je vas tester ça et je te tiens au courant. Pour le fichier siurce c'est difficile à mettre il est bien trop gros et ça impact 3 classeurs, donc difficile. Je pensais juste à un problème de syntaxe d'ou juste la ligne de code.

Merci encore.


[edit] c'est génial !! ça marche parfaitement et le code est nettement mieux que le mien 😉. c'est clair et facile à appliquer.

Merci pour tout.

Bonne journée
 
Dernière édition:
Re : Copier 2 cellules non adjacentes en vba

Bonsoir Stéphane

je comprend pas bien ta réponse 🙁

j'utilise la méthode avec activation du classeur cible, j'ai besoin que se classeur soit ouvert pour la continuité.

Merci
 
- 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

Retour