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

VBA identifier et copier valeurs d'un tableau

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 !

alexvol

XLDnaute Nouveau
Bonjour,

je cherche depuis quelques heures mais malgré mes tests au gré de mes trouvailles sur les différents forums, rien n'y fait.

Voici le problème : j'ai une suite de valeur de 1 à 5.
Etape 1 : Déterminer les nombres pairs uniquement.
Etape 2 : insérer ces nombres pairs dans un nouveau tableau,
Etape 3 : identifier le nombre de valeurs dans ce tableau,
Etape 4 : enfin me servir de ce nombre dans une boucle "for next".

Pour l'étape 1, j'ai tenté d'utiliser une boucle "for next" avec un "step" de 2. Si j'utilise les valeurs obtenues directement, elles sont utilisables.
Mais quand j'essaie de passer à l'étape 2, je bloque... et donc l'étape 3 impossible...

Si quelqu'un a une idée, je suis preneur.

Merci d'avance
 
Re : VBA identifier et copier valeurs d'un tableau

Salut alexvol

Si tes chiffres sont dans les cellules A1:A5, tu peux essayer ceci
Code:
Sub Test()
  Dim NbInc As Integer, Inc As Integer
  NbInc = Combien()
  For Inc = 1 To NbInc
    MsgBox "Boucle " & NbInc & " fois"
  Next Inc
End Sub


Function Combien()
  Dim Inc As Integer, NbPair As Integer
  NbPair = 0
  For Inc = 1 To 5
    If Range("A" & Inc) Mod 2 = 0 Then
      NbPair = NbPair + 1
    End If
  Next Inc
  Combien = NbPair
End Function

A+
 
Re : VBA identifier et copier valeurs d'un tableau

Merci de ces propositions mais les chiffres ne sont pas dans une feuille.
Quelques explications supplémentaires :
- j'ai une valeur en "A1" ;
- je copie le format des cellules "A2" à "D4".
- je souhaite faire des "collage" en fonction de la valeur en "A1" :
- pour tous les chiffres pairs, à droite de la sélection, si 2, 1 fois avec un simple décalage horizontale, si 4, 1ère copie avec simple décalage horizontale, 2nde copie avec décalage horizontale et verticale, et ainsi de suite ;
- pour tous les chiffres impairs, en dessous de la sélection.
Au départ, pour envisager les différentes possibilités de valeur de "A1", j'avais utilisé un "select case" mais cela peut devenir très long.
Voici le code envisagé au départ :

Code:
Sub CopieFonctionNbreEquipe()
With Worksheets("calendriersType")
    Dim calenType As Range
    Dim celRef As Range
    Dim nbreEquipe As Range
    
    Set celRef = .Range("a5")
    Set nbreEquipe = .Range("i1")
    Set calenType = .Range("a5:d13")
    calenType.Copy
    
    Select Case nbreEquipe
        Case Is = 2
            celRef.Offset(0, 4).PasteSpecial Paste:=xlFormats
        Case Is = 3
        Case Is = 4
        Case Is = 5
    End Select
End With
End Sub

Merci pour toute l'aide que vous m'apporterez
 
Re : VBA identifier et copier valeurs d'un tableau

Suis pas sur d'avoir tout compris

la zone multicolore A2D5, c'est le motif que tu veux copier coller autant de fois que tu le demandes en cellule A1 ?
si tu mets 2: tu veux 2 motifs cote à cote
si tu mets 3 2 cotes à cote +1 en dessous du premier
4: 2 *2 motifs l'un en dessous de l'autre.. etc etc...?
 
Re : VBA identifier et copier valeurs d'un tableau

En gros c'est le principe, presque :

si 2, un motif à côté,
si 3, un motif à côté et un autre juste dessous,
si 4, un motif à côté, un autre juste dessous et un qui sera en dessous avec un décalage vers la droite,

Merci pour l'aide
 
Re : VBA identifier et copier valeurs d'un tableau

Cela fonctionne parfaitement mais j'ai des questions car j'aime comprendre :
- je ne comprends pas le "i < NbDeMotifs" : tant que i est inférieur au nombre de motif, la boucle se poursuit. Mais c'est toujours le cas puisque i a reçu pour valeur 1 juste avant.
- est-il possible de remplacer "Application.Goto Reference:="Motif"" par un simple "range".
Merci pour les réponses
 
- 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
4
Affichages
280
R
  • Question Question
Réponses
3
Affichages
104
regis6460
R
Réponses
15
Affichages
779
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…