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

Selection de plage en VBA, problème de code

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

G

grokouic

Guest
Bonjour à tous,

Je cherche à copier une plage d'un onglet dans une zone dans autre onglet par macro

il s'agit d'une zone de 11 cellule sur la même colonne, et ce pour des données enregistrées toutes les 100 lignes.

Mon code est le suivant (rédigé avec l'aide du forum..)

Code:
Dim numeroactif As Integer

numeroactif = InputBox("saisissez le numéro de l'actif à extraire", "EXTRACTION d'ACTIF")

Sheets("HypothèsesStockage").Select
    Range(Cells((100 * Val(numeroactif) + 1), 3), ActiveCell.Offset(10, 0)).Select
    Selection.Copy
    Sheets("ACTIFhypothèses").Select
    Range("zone1").Select
    Selection.PasteSpecial Paste:=xlPasteValues

Mon problème c'est que ce n'est jamais une zone de 11 cellules sur une colonne (offset) qui est selectionnée comme copie mais une zone un peu aléatoire

l'un de vous, de son oeil expert, pourrait-il m'indiquer ce qui ne va pas ?
merci à tous
 
Dernière modification par un modérateur:
Re : Selection de plage en VBA, problème de code

Bonjour,

une idée :

Code:
Dim numeroactif As Integer

numeroactif = InputBox("saisissez le numéro de l'actif à extraire", "EXTRACTION d'ACTIF")

Sheets("ACTIFhypothèses").Range("zone1").value=Sheets("HypothèsesStockage").Range(Cells((100 * Val(numeroactif) + 1), 3), Cells((100 * Val(numeroactif) + 1)+10, 3)).value

A+
 
Re : Selection de plage en VBA, problème de code

Merci pour la simplification du code Sylvain,

j'avais en effet pensé à rentrer le calcul plutôt que d'utiliser offset, mais pour ma culture personnelle, qqun connait-il une astuce pour utiliser offset plutôt que de répéter le calcul?

je ne comprends pas pourquoi cela ne marche pas

Arnaud
 
Re : Selection de plage en VBA, problème de code

une idée avec offset :

Code:
Dim numeroactif As Integer

numeroactif = InputBox("saisissez le numéro de l'actif à extraire", "EXTRACTION d'ACTIF")

Sheets("ACTIFhypothèses").Range("zone1").Value = Sheets("HypothèsesStockage").range("A1:A11).offset(100 * Val(numeroactif), 2).Value

A+
 
- 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
399
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…