Incomprehension du résultat erroné donné par la ligne de code

Bonsoir, je ne comprends pas l’erreur que me donne ce code.
Je n’ai pas d’erreur, avec F8 tout se passe bien mais le résultat est faux…

une feuille « Formulaire » avec :
Code en B15
Nature En D15
Groupement en H15
Nom en J15
Adresse en L15
CP en N15
Ville en P15
Dpt en Q15

je veux coller ces valeurs dans une feuille « liste » avec :
Code en A
Nature En B
Groupement en C
Nom en D
Adresse en E
CP en F
Ville en G
Dpt en H

vba :

Dim MaPlage As Range, Cel As Range

Set MaPlage = Sheets(« FORMULAIRE »).Range(« D15,H15,J15,P15,n15 »)
For Each Cel In MaPlage 'pour toutes les cellules de la plage
If Cel.Value = «  » Then 'si elle est vide alors
'message à l’utilisateur
MsgBox « Des informations sont manquantes et ensuite c’est le Bordel… »
'sortie de la procédure
Exit Sub
End If
Next

    'copier "nature" de "form" dans derrière ligne colonne "b" du tableau "liste"
        Dim derlig As Long
        derlig = Sheets("Liste").Range("b" & Rows.Count).End(xlUp).Row + 1 'selectionner dernière ligne colonne B
 With ActiveSheet

.Range(« D15 »).Copy Sheets(« liste »).Range(« b » & derlig) 'copier D15 dasn cette dernière ligne

End With

    'Copier la ligne des informations de "form" dans la dernière ligne du tableau "liste"
    Sheets("FORMULAIRE").Select

Range(« B15,D15,H15,J15,P15,N15,L15,Q15 »).Copy
Sheets(« liste »).Cells(Rows.Count, 1).End(xlUp)(1).PasteSpecial xlPasteValues
Application.CutCopyMode = False

Worksheets(« FORMULAIRE »).Range(« D15,H15,J15,P15,n15,L15 »).ClearContents

Tous marche super bien, sauf que les 3 dernières Ranges ne vont pas au bon endroit. Toutes les infos vont bien dans ma dernière ligne de tableau mais :

B15 va bien dans la colonne A : OK
D15 en B : OK
H15 en C : OK
J15 en D : OK
P15 en G :???
N15 en F :???
L15 en E :???

Je sèche complètement…

Bonsoir
J’ai souvent été confronté à cette difficulté lorque les cellules sources ne se suivent pas les unes après les autres et n’est pas eu d’autres choix que de les traiter de manière indépendante

Pour reprendre ton code j’aurais mis comme ceci pour obtenir le résultat attendu pour chacune :

Lignerecopie = Sheets(« liste »).Cells(Rows.Count, 1).End(xlUp).row + 1

Sheets(« liste »).Cells(lignerecopie,1).value = Range(« B15 »).value

Sheets(« liste »).Cells(lignerecopie,2).value = Range(« D15 »).value

Sheets(« liste »).Cells(lignerecopie,3).value = Range(« H15 »).value

Sheets(« liste »).Cells(lignerecopie,4).value = Range(« J15 »).value

Sheets(« liste »).Cells(lignerecopie,5).value = Range(« P15 »).value

Sheets(« liste »).Cells(lignerecopie,6).value = Range(« N15 »).value

Sheets(« liste »).Cells(lignerecopie,7).value = Range(« L15 »).value

Certes plus de lignes mais compte tenu d’une source morcelée (B15,D15,H15,J15,P15,N15,L15,Q15)

Pas d’autre choix pour un resultat correct au RDV

Testes et dis moi

excel lit de gauche à droite et de haut en bas, donc range(« B15,D15,H15,J15,P15,N15,L15,Q15 ») et lu B15, D15, G15, H15, J15, N15, P15, Q15

Sheets(« liste »).Cells(lignerecopie,1).resize(,7).value = array(Range(« B15 »).value, Range(« D15 »).value, Range(« H15 »).value, Range(« J15 »).value, Range(« P15 »).value, Range(« N15 »).value, Range(« L15 »).value)

Ca marche impeccable. Merci bcp !

Ca marche aussi très bien. Merci à toi pour les explications.

Bonjour
Merci pour ton retour
Ravi que cela te convienne
Un petit plus sympathique si celà ne te dérange pas de valider ma proposition
Merci d’avance
Au plaisir de t’aider une nouvelle fois

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.